Geiger counter, retexturing, solid fuel, biofuel, inserter frame
@ -32,6 +32,8 @@ hbmfluid.lightoil=Leichtöl
|
||||
hbmfluid.petroleum=Petroleumgas
|
||||
hbmfluid.acid=Wasserstoffperoxid
|
||||
hbmfluid.watz=Giftiger Schlamm
|
||||
hbmfluid.biogas=Biogas
|
||||
hbmfluid.biofuel=Biodiesel
|
||||
|
||||
chem.TEST=Test
|
||||
chem.FP_HEAVYOIL=Schwerölverarbeitung
|
||||
@ -55,6 +57,24 @@ chem.DESH=Deshherstellung
|
||||
chem.PEROXIDE=Wasserstoffperoxidherstellung
|
||||
chem.CIRCUIT_4=Überstaktete Schaltkreisherstellung
|
||||
chem.CIRCUIT_5=Leistungsstarke Schaltkreisherstellung
|
||||
chem.SF_OIL=Rohölverfestigung
|
||||
chem.SF_HEAVYOIL=Schwerölverfestigung
|
||||
chem.SF_SMEAR=Industrieölverfestigung
|
||||
chem.SF_HEATINGOIL=Heizölverfestigung
|
||||
chem.SF_RECLAIMED=Verfestigung von wiederaufbereitetem Industrieöl
|
||||
chem.SF_PETROIL=Gemischverfestigung
|
||||
chem.SF_LUBRICANT=Schmiermittelverfestigung
|
||||
chem.SF_NAPHTHA=Mitteldestillatsverfestigung
|
||||
chem.SF_DIESEL=Dieselverfestigung
|
||||
chem.SF_LIGHTOIL=Leichtölverfestigung
|
||||
chem.SF_KEROSENE=Kerosinverfestigung
|
||||
chem.SF_GAS=Erdgasverfestigung
|
||||
chem.SF_PETROLEUM=Petroleumgasverfestigung
|
||||
chem.POLYMER=Polymersynthese
|
||||
chem.DEUTERIUM=Deuteriumextrahierung
|
||||
chem.STEAM=WWasser kochen
|
||||
chem.UF6=Uranhexafluoritproduktion
|
||||
chem.PUF6=Plutoniumhexafluoritproduktion
|
||||
|
||||
item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core
|
||||
item.record.ss.desc=Valve - Sector Sweep
|
||||
@ -582,6 +602,9 @@ item.upgrade_power_3.name=Blaues Maschinenupgrade Mk.III
|
||||
item.upgrade_fortune_1.name=Lila Maschinenupgrade Mk.I
|
||||
item.upgrade_fortune_2.name=Lila Maschinenupgrade Mk.II
|
||||
item.upgrade_fortune_3.name=Lila Maschinenupgrade Mk.III
|
||||
item.upgrade_afterburn_1.name=Pinkes Maschinenupgrade Mk.I
|
||||
item.upgrade_afterburn_2.name=Pinkes Maschinenupgrade Mk.II
|
||||
item.upgrade_afterburn_3.name=Pinkes Maschinenupgrade Mk.III
|
||||
|
||||
item.fusion_core.name=Fusionskern
|
||||
item.energy_core.name=Selbstgebauter Energiekern
|
||||
@ -613,6 +636,7 @@ item.magnet_dee.name=Duantenmagnete
|
||||
item.magnet_circular.name=Flachmagnet
|
||||
item.cyclotron_tower.name=Zyklotronenturm
|
||||
item.plate_dalekanium.name=Wütendes Metall
|
||||
item.biomass.name=Biomasse
|
||||
|
||||
item.cell_empty.name=Leere Zelle
|
||||
item.cell_uf6.name=Uranhexafluorit-Zelle
|
||||
@ -1252,6 +1276,7 @@ item.pellet_coolant.name=Kühlcluster
|
||||
|
||||
item.linker.name=Telelinker
|
||||
item.oil_detector.name=Ölvorkommen-Detektor
|
||||
item.geiger_counter.name=Geigerzähler
|
||||
|
||||
item.thermo_element.name=Thermoelektrisches Element
|
||||
item.limiter.name=Generator-Limiter
|
||||
|
||||
@ -32,6 +32,8 @@ hbmfluid.lightoil=Light Oil
|
||||
hbmfluid.petroleum=Petroleum Gas
|
||||
hbmfluid.acid=Hydrogen Peroxide
|
||||
hbmfluid.watz=Poisonous Mud
|
||||
hbmfluid.biogas=Biogas
|
||||
hbmfluid.biofuel=Biofuel
|
||||
|
||||
chem.TEST=Test
|
||||
chem.FP_HEAVYOIL=Heavy Oil Processing
|
||||
@ -55,6 +57,24 @@ chem.DESH=Desh Production
|
||||
chem.PEROXIDE=Hydrogen Peroxide Production
|
||||
chem.CIRCUIT_4=Overclocked Circuit Production
|
||||
chem.CIRCUIT_5=High Performance Circuit Production
|
||||
chem.SF_OIL=Crude Oil Solidification
|
||||
chem.SF_HEAVYOIL=Heavy Oil Solidification
|
||||
chem.SF_SMEAR=Industrial Oil Solidification
|
||||
chem.SF_HEATINGOIL=Heating Oil Solidification
|
||||
chem.SF_RECLAIMED=Reclaimed Oil Solidification
|
||||
chem.SF_PETROIL=Petroil Solidification
|
||||
chem.SF_LUBRICANT=Lubricant Solidification
|
||||
chem.SF_NAPHTHA=Naphtha Solidification
|
||||
chem.SF_DIESEL=Diesel Solidification
|
||||
chem.SF_LIGHTOIL=Light Oil Solidification
|
||||
chem.SF_KEROSENE=Kerosene Solidification
|
||||
chem.SF_GAS=Natural Gas Solidification
|
||||
chem.SF_PETROLEUM=Petroleum Gas Solidification
|
||||
chem.POLYMER=Polymer Synthesis
|
||||
chem.DEUTERIUM=Deuterium Extraction
|
||||
chem.STEAM=Water Boiling
|
||||
chem.UF6=Uranium Hexafluoride Production
|
||||
chem.PUF6=Plutonium Hexafluoride Production
|
||||
|
||||
item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core
|
||||
item.record.ss.desc=Valve - Sector Sweep
|
||||
@ -582,6 +602,9 @@ item.upgrade_power_3.name=Blue Machine Upgrade Mk.III
|
||||
item.upgrade_fortune_1.name=Purple Machine Upgrade Mk.I
|
||||
item.upgrade_fortune_2.name=Purple Machine Upgrade Mk.II
|
||||
item.upgrade_fortune_3.name=Purple Machine Upgrade Mk.III
|
||||
item.upgrade_afterburn_1.name=Pink Machine Upgrade Mk.I
|
||||
item.upgrade_afterburn_2.name=Pink Machine Upgrade Mk.II
|
||||
item.upgrade_afterburn_3.name=Pink Machine Upgrade Mk.III
|
||||
|
||||
item.fusion_core.name=Fusion Core
|
||||
item.energy_core.name=Makeshift Energy Core
|
||||
@ -613,6 +636,7 @@ item.magnet_dee.name=Dee Magnets
|
||||
item.magnet_circular.name=Flat Magnet
|
||||
item.cyclotron_tower.name=Cyclotron Tower
|
||||
item.plate_dalekanium.name=Angry Metal
|
||||
item.biomass.name=Biomass
|
||||
|
||||
item.cell_empty.name=Empty Cell
|
||||
item.cell_uf6.name=Uranium Hexafluorite Cell
|
||||
@ -1252,6 +1276,7 @@ item.pellet_coolant.name=Coolant Cluster
|
||||
|
||||
item.linker.name=Telelinker
|
||||
item.oil_detector.name=Oil Reservoir Detector
|
||||
item.geiger_counter.name=Geiger Counter
|
||||
|
||||
item.thermo_element.name=Thermoelectric Element
|
||||
item.limiter.name=Generator Limiter
|
||||
|
||||
@ -14,7 +14,13 @@
|
||||
"block.turbofanOperate": {"category": "block", "sounds": [{"name": "block/turbofanOperate", "stream": false}]},
|
||||
|
||||
"item.techBleep": {"category": "player", "sounds": [{"name": "tool/techBleep", "stream": false}]},
|
||||
"item.techBoop": {"category": "player", "sounds": [{"name": "tool/techBoop", "stream": false}]},
|
||||
"item.techBoop": {"category": "player", "sounds": [{"name": "tool/techBoop", "stream": false}]},
|
||||
"item.geiger1": {"category": "player", "sounds": [{"name": "tool/geiger1", "stream": false}]},
|
||||
"item.geiger2": {"category": "player", "sounds": [{"name": "tool/geiger2", "stream": false}]},
|
||||
"item.geiger3": {"category": "player", "sounds": [{"name": "tool/geiger3", "stream": false}]},
|
||||
"item.geiger4": {"category": "player", "sounds": [{"name": "tool/geiger4", "stream": false}]},
|
||||
"item.geiger5": {"category": "player", "sounds": [{"name": "tool/geiger5", "stream": false}]},
|
||||
"item.geiger6": {"category": "player", "sounds": [{"name": "tool/geiger6", "stream": false}]},
|
||||
|
||||
"music.recordLambdaCore": {"category": "record", "sounds": [{"name": "music/recordLambdaCore", "stream": true}]},
|
||||
"music.recordSectorSweep": {"category": "record", "sounds": [{"name": "music/recordSectorSweep", "stream": true}]},
|
||||
|
||||
BIN
assets/hbm/sounds/tool/geiger1.ogg
Normal file
BIN
assets/hbm/sounds/tool/geiger2.ogg
Normal file
BIN
assets/hbm/sounds/tool/geiger3.ogg
Normal file
BIN
assets/hbm/sounds/tool/geiger4.ogg
Normal file
BIN
assets/hbm/sounds/tool/geiger5.ogg
Normal file
BIN
assets/hbm/sounds/tool/geiger6.ogg
Normal file
BIN
assets/hbm/textures/blocks/machine_gas_furnace_fron_on.png
Normal file
|
After Width: | Height: | Size: 549 B |
BIN
assets/hbm/textures/blocks/machine_gas_furnace_front_off.png
Normal file
|
After Width: | Height: | Size: 523 B |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 4.9 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.6 KiB |
BIN
assets/hbm/textures/items/biomass.png
Executable file
|
After Width: | Height: | Size: 501 B |
BIN
assets/hbm/textures/items/biomass_alt.png
Executable file
|
After Width: | Height: | Size: 525 B |
BIN
assets/hbm/textures/items/canister_biofuel.png
Normal file
|
After Width: | Height: | Size: 278 B |
|
Before Width: | Height: | Size: 285 B After Width: | Height: | Size: 215 B |
BIN
assets/hbm/textures/items/gas_bio.png
Normal file
|
After Width: | Height: | Size: 225 B |
|
Before Width: | Height: | Size: 254 B After Width: | Height: | Size: 187 B |
|
Before Width: | Height: | Size: 241 B After Width: | Height: | Size: 233 B |
|
Before Width: | Height: | Size: 244 B After Width: | Height: | Size: 240 B |
@ -370,6 +370,9 @@ public class ModBlocks {
|
||||
public static Block machine_turbofan;
|
||||
public static final int guiID_machine_turbofan = 52;
|
||||
|
||||
public static Block machine_inserter;
|
||||
public static final int guiID_machine_inserter = 53;
|
||||
|
||||
public static Block turret_light;
|
||||
public static Block turret_heavy;
|
||||
public static Block turret_rocket;
|
||||
@ -706,6 +709,7 @@ public class ModBlocks {
|
||||
machine_chemplant = new MachineChemplant(Material.iron).setBlockName("machine_chemplant").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_chemplant");
|
||||
machine_fluidtank = new MachineFluidTank(Material.iron).setBlockName("machine_fluidtank").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_fluidtank");
|
||||
machine_turbofan = new MachineTurbofan(Material.iron).setBlockName("machine_turbofan").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_turbofan");
|
||||
machine_inserter = new MachineInserter(Material.iron).setBlockName("machine_inserter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":inserter_side");
|
||||
|
||||
machine_schrabidium_transmutator = new MachineSchrabidiumTransmutator(Material.iron).setBlockName("machine_schrabidium_transmutator").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock);
|
||||
|
||||
@ -993,6 +997,9 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(factory_advanced_conductor, factory_advanced_conductor.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(factory_advanced_core, factory_advanced_core.getUnlocalizedName());
|
||||
|
||||
//The Fluid Inserter
|
||||
GameRegistry.registerBlock(machine_inserter, machine_inserter.getUnlocalizedName());
|
||||
|
||||
//Multiblock Generators
|
||||
GameRegistry.registerBlock(reactor_element, reactor_element.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(reactor_control, reactor_control.getUnlocalizedName());
|
||||
|
||||
@ -149,8 +149,9 @@ public class BlockOre extends Block {
|
||||
if(!p_149724_1_.isRemote)
|
||||
p_149724_1_.spawnEntityInWorld(creep);
|
||||
} else if(!(entity instanceof EntityNuclearCreeper) && !(entity instanceof EntityMooshroom) && !(entity instanceof EntityZombie)) {
|
||||
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.poison.id, 3 * 60 * 20, 2));
|
||||
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.wither.id, 30 * 20, 0));
|
||||
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.poison.id, 30 * 20, 2));
|
||||
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.wither.id, 5 * 20, 0));
|
||||
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.confusion.id, 15 * 20, 0));
|
||||
entity.attackEntityFrom(ModDamageSource.radiation, 0.5F);
|
||||
}
|
||||
}
|
||||
@ -186,9 +187,10 @@ public class BlockOre extends Block {
|
||||
if(!p_149724_1_.isRemote)
|
||||
p_149724_1_.spawnEntityInWorld(creep);
|
||||
} else if(!(entity instanceof EntityNuclearCreeper) && !(entity instanceof EntityMooshroom) && !(entity instanceof EntityZombie)) {
|
||||
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.poison.id, 10 * 60 * 20, 4));
|
||||
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 4 * 60 * 20, 2));
|
||||
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.wither.id, 3 * 60 * 20, 2));
|
||||
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.poison.id, 60 * 20, 2));
|
||||
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 30 * 20, 1));
|
||||
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.wither.id, 10 * 20, 0));
|
||||
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.confusion.id, 20 * 20, 0));
|
||||
entity.attackEntityFrom(ModDamageSource.radiation, 2.5F);
|
||||
}
|
||||
}
|
||||
@ -216,7 +218,7 @@ public class BlockOre extends Block {
|
||||
if(!p_149724_1_.isRemote)
|
||||
p_149724_1_.spawnEntityInWorld(creep);
|
||||
} else if(!(entity instanceof EntityNuclearCreeper) && !(entity instanceof EntityMooshroom) && !(entity instanceof EntityZombie)) {
|
||||
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.poison.id, 30 * 20, 1));
|
||||
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.poison.id, 5 * 20, 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
36
com/hbm/blocks/machine/MachineInserter.java
Normal file
@ -0,0 +1,36 @@
|
||||
package com.hbm.blocks.machine;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.lib.RefStrings;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.util.IIcon;
|
||||
|
||||
public class MachineInserter extends Block {
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
private IIcon iconTop;
|
||||
|
||||
public MachineInserter(Material p_i45394_1_) {
|
||||
super(p_i45394_1_);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerBlockIcons(IIconRegister iconRegister) {
|
||||
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":inserter_top");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":inserter_side");
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getIcon(int side, int metadata) {
|
||||
return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon);
|
||||
}
|
||||
|
||||
}
|
||||
@ -11,26 +11,88 @@ import com.hbm.explosion.ExplosionNukeGeneric;
|
||||
|
||||
public class EntityNukeExplosionAdvanced extends Entity {
|
||||
|
||||
public int age = 0;
|
||||
//public int age = 0;
|
||||
public int destructionRange = 0;
|
||||
public ExplosionNukeAdvanced exp;
|
||||
public ExplosionNukeAdvanced wst;
|
||||
public ExplosionNukeAdvanced vap;
|
||||
public ExplosionFleija expl;
|
||||
//public ExplosionNukeAdvanced exp;
|
||||
//public ExplosionNukeAdvanced wst;
|
||||
//public ExplosionNukeAdvanced vap;
|
||||
//public ExplosionFleija expl;
|
||||
public int speed = 1;
|
||||
public float coefficient = 1;
|
||||
public float coefficient2 = 1;
|
||||
public boolean did = false;
|
||||
public boolean did2 = false;
|
||||
//public boolean did = false;
|
||||
//public boolean did2 = false;
|
||||
public boolean waste = true;
|
||||
|
||||
@Override
|
||||
protected void readEntityFromNBT(NBTTagCompound nbt) {
|
||||
/*age = nbt.getInteger("age");
|
||||
destructionRange = nbt.getInteger("destructionRange");
|
||||
speed = nbt.getInteger("speed");
|
||||
coefficient = nbt.getFloat("coefficient");
|
||||
coefficient2 = nbt.getFloat("coefficient2");
|
||||
did = nbt.getBoolean("did");
|
||||
did2 = nbt.getBoolean("did2");
|
||||
waste = nbt.getBoolean("waste");*/
|
||||
|
||||
/*if(this.waste)
|
||||
{
|
||||
exp = new ExplosionNukeAdvanced((int)this.posX, (int)this.posY, (int)this.posZ, this.worldObj, this.destructionRange, this.coefficient, 0);
|
||||
exp.readFromNbt(nbt, "exp_");
|
||||
wst = new ExplosionNukeAdvanced((int)this.posX, (int)this.posY, (int)this.posZ, this.worldObj, (int)(this.destructionRange * 1.8), this.coefficient, 2);
|
||||
wst.readFromNbt(nbt, "wst_");
|
||||
vap = new ExplosionNukeAdvanced((int)this.posX, (int)this.posY, (int)this.posZ, this.worldObj, (int)(this.destructionRange * 2.5), this.coefficient, 1);
|
||||
vap.readFromNbt(nbt, "vap_");
|
||||
} else {
|
||||
expl = new ExplosionFleija((int)this.posX, (int)this.posY, (int)this.posZ, this.worldObj, this.destructionRange, this.coefficient, this.coefficient2);
|
||||
expl.readFromNbt(nbt, "expl_");
|
||||
}
|
||||
|
||||
this.did = true;
|
||||
|
||||
System.out.println(posX);
|
||||
System.out.println(posY);
|
||||
System.out.println(posZ);
|
||||
System.out.println(age);
|
||||
System.out.println(destructionRange);
|
||||
System.out.println(speed);
|
||||
System.out.println(coefficient);
|
||||
System.out.println(coefficient2);
|
||||
System.out.println(did);
|
||||
System.out.println(did2);
|
||||
System.out.println(waste);*/
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void writeEntityToNBT(NBTTagCompound nbt) {
|
||||
/*nbt.setInteger("age", age);
|
||||
nbt.setInteger("destructionRange", destructionRange);
|
||||
nbt.setInteger("speed", speed);
|
||||
nbt.setFloat("coefficient", coefficient);
|
||||
nbt.setFloat("coefficient2", coefficient2);
|
||||
nbt.setBoolean("did", did);
|
||||
nbt.setBoolean("did2", did2);
|
||||
nbt.setBoolean("waste", waste);*/
|
||||
|
||||
/*if(exp != null)
|
||||
exp.saveToNbt(nbt, "exp_");
|
||||
if(wst != null)
|
||||
wst.saveToNbt(nbt, "wst_");
|
||||
if(vap != null)
|
||||
vap.saveToNbt(nbt, "vap_");
|
||||
if(expl != null)
|
||||
expl.saveToNbt(nbt, "expl_");*/
|
||||
|
||||
}
|
||||
|
||||
public EntityNukeExplosionAdvanced(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate() {
|
||||
super.onUpdate();
|
||||
//@Override
|
||||
//public void onUpdate() {
|
||||
/*super.onUpdate();
|
||||
|
||||
if(!this.did)
|
||||
{
|
||||
@ -46,7 +108,7 @@ public class EntityNukeExplosionAdvanced extends Entity {
|
||||
this.did = true;
|
||||
}
|
||||
|
||||
speed = 160;
|
||||
speed = 5;
|
||||
|
||||
boolean flag = false;
|
||||
boolean flag2 = false;
|
||||
@ -60,7 +122,8 @@ public class EntityNukeExplosionAdvanced extends Entity {
|
||||
flag3 = vap.update();
|
||||
|
||||
if(flag3) {
|
||||
this.setDead();
|
||||
//this.setDead();
|
||||
//System.out.println("DIED!!!");
|
||||
}
|
||||
} else {
|
||||
if(expl.update()) {
|
||||
@ -87,22 +150,12 @@ public class EntityNukeExplosionAdvanced extends Entity {
|
||||
}
|
||||
}
|
||||
|
||||
age++;
|
||||
}
|
||||
age++;*/
|
||||
//}
|
||||
|
||||
@Override
|
||||
protected void entityInit() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void readEntityFromNBT(NBTTagCompound p_70037_1_) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void writeEntityToNBT(NBTTagCompound p_70014_1_) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -5,6 +5,7 @@ import com.hbm.entity.particle.EntitySmokeFX;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.DamageSource;
|
||||
@ -21,7 +22,7 @@ public abstract class EntityMissileBaseAdvanced extends Entity {
|
||||
double decelY;
|
||||
double accelXZ;
|
||||
boolean isCluster = false;
|
||||
float health = 50;
|
||||
float health = 10;
|
||||
|
||||
public EntityMissileBaseAdvanced(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
@ -34,22 +35,25 @@ public abstract class EntityMissileBaseAdvanced extends Entity {
|
||||
|
||||
public boolean attackEntityFrom(DamageSource p_70097_1_, float f)
|
||||
{
|
||||
if (this.isEntityInvulnerable())
|
||||
if (!this.worldObj.isRemote && !this.isDead)
|
||||
{
|
||||
return false;
|
||||
if (this.isEntityInvulnerable())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.setBeenAttacked();
|
||||
health -= f;
|
||||
|
||||
if(health <= 0) {
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.setBeenAttacked();
|
||||
health -= f;
|
||||
|
||||
if(health <= 0) {
|
||||
if(!worldObj.isRemote)
|
||||
worldObj.createExplosion(this, posX, posY, posZ, 15, true);
|
||||
|
||||
this.setDead();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,6 +3,7 @@ package com.hbm.explosion;
|
||||
import com.hbm.blocks.generic.DecoBlockAlt;
|
||||
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class ExplosionFleija
|
||||
@ -23,6 +24,40 @@ public class ExplosionFleija
|
||||
public float explosionCoefficient = 1.0F;
|
||||
public float explosionCoefficient2 = 1.0F;
|
||||
|
||||
public void saveToNbt(NBTTagCompound nbt, String name) {
|
||||
nbt.setInteger(name + "posX", posX);
|
||||
nbt.setInteger(name + "posY", posY);
|
||||
nbt.setInteger(name + "posZ", posZ);
|
||||
nbt.setInteger(name + "lastposX", lastposX);
|
||||
nbt.setInteger(name + "lastposZ", lastposZ);
|
||||
nbt.setInteger(name + "radius", radius);
|
||||
nbt.setInteger(name + "radius2", radius2);
|
||||
nbt.setInteger(name + "n", n);
|
||||
nbt.setInteger(name + "nlimit", nlimit);
|
||||
nbt.setInteger(name + "shell", shell);
|
||||
nbt.setInteger(name + "leg", leg);
|
||||
nbt.setInteger(name + "element", element);
|
||||
nbt.setFloat(name + "explosionCoefficient", explosionCoefficient);
|
||||
nbt.setFloat(name + "explosionCoefficient2", explosionCoefficient2);
|
||||
}
|
||||
|
||||
public void readFromNbt(NBTTagCompound nbt, String name) {
|
||||
posX = nbt.getInteger(name + "posX");
|
||||
posY = nbt.getInteger(name + "posY");
|
||||
posZ = nbt.getInteger(name + "posZ");
|
||||
lastposX = nbt.getInteger(name + "lastposX");
|
||||
lastposZ = nbt.getInteger(name + "lastposZ");
|
||||
radius = nbt.getInteger(name + "radius");
|
||||
radius2 = nbt.getInteger(name + "radius2");
|
||||
n = nbt.getInteger(name + "n");
|
||||
nlimit = nbt.getInteger(name + "nlimit");
|
||||
shell = nbt.getInteger(name + "shell");
|
||||
leg = nbt.getInteger(name + "leg");
|
||||
element = nbt.getInteger(name + "element");
|
||||
explosionCoefficient = nbt.getFloat(name + "explosionCoefficient");
|
||||
explosionCoefficient2 = nbt.getFloat(name + "explosionCoefficient2");
|
||||
}
|
||||
|
||||
public ExplosionFleija(int x, int y, int z, World world, int rad, float coefficient, float coefficient2)
|
||||
{
|
||||
this.posX = x;
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.hbm.explosion;
|
||||
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class ExplosionNukeAdvanced
|
||||
@ -20,6 +21,40 @@ public class ExplosionNukeAdvanced
|
||||
public float explosionCoefficient = 1.0F;
|
||||
public int type = 0;
|
||||
|
||||
public void saveToNbt(NBTTagCompound nbt, String name) {
|
||||
nbt.setInteger(name + "posX", posX);
|
||||
nbt.setInteger(name + "posY", posY);
|
||||
nbt.setInteger(name + "posZ", posZ);
|
||||
nbt.setInteger(name + "lastposX", lastposX);
|
||||
nbt.setInteger(name + "lastposZ", lastposZ);
|
||||
nbt.setInteger(name + "radius", radius);
|
||||
nbt.setInteger(name + "radius2", radius2);
|
||||
nbt.setInteger(name + "n", n);
|
||||
nbt.setInteger(name + "nlimit", nlimit);
|
||||
nbt.setInteger(name + "shell", shell);
|
||||
nbt.setInteger(name + "leg", leg);
|
||||
nbt.setInteger(name + "element", element);
|
||||
nbt.setFloat(name + "explosionCoefficient", explosionCoefficient);
|
||||
nbt.setInteger(name + "type", type);
|
||||
}
|
||||
|
||||
public void readFromNbt(NBTTagCompound nbt, String name) {
|
||||
posX = nbt.getInteger(name + "posX");
|
||||
posY = nbt.getInteger(name + "posY");
|
||||
posZ = nbt.getInteger(name + "posZ");
|
||||
lastposX = nbt.getInteger(name + "lastposX");
|
||||
lastposZ = nbt.getInteger(name + "lastposZ");
|
||||
radius = nbt.getInteger(name + "radius");
|
||||
radius2 = nbt.getInteger(name + "radius2");
|
||||
n = nbt.getInteger(name + "n");
|
||||
nlimit = nbt.getInteger(name + "nlimit");
|
||||
shell = nbt.getInteger(name + "shell");
|
||||
leg = nbt.getInteger(name + "leg");
|
||||
element = nbt.getInteger(name + "element");
|
||||
explosionCoefficient = nbt.getFloat(name + "explosionCoefficient");
|
||||
type = nbt.getInteger(name + "type");
|
||||
}
|
||||
|
||||
public ExplosionNukeAdvanced(int x, int y, int z, World world, int rad, float coefficient, int typ)
|
||||
{
|
||||
this.posX = x;
|
||||
|
||||
@ -36,6 +36,9 @@ public class FluidTypeHandler {
|
||||
GAS (0xfffeed, 16776941, 13, 1, "hbmfluid.gas"),
|
||||
PETROLEUM (0x7cb7c9, 8173513, 7, 2, "hbmfluid.petroleum"),
|
||||
|
||||
BIOGAS (0xbfd37c, 12571516, 12, 2, "hbmfluid.biogas"),
|
||||
BIOFUEL (0xeef274, 15659636, 13, 2, "hbmfluid.biofuel"),
|
||||
|
||||
UF6 (0xD1CEBE, 13749950, 14, 1, "hbmfluid.uf6"),
|
||||
PUF6 (0x4C4C4C, 5000268, 15, 1, "hbmfluid.puf6"),
|
||||
|
||||
|
||||
@ -2052,7 +2052,7 @@ public class MachineRecipes {
|
||||
list.add(new ItemStack(ModItems.circuit_gold, 3));
|
||||
break;
|
||||
case RT_GENERATOR:
|
||||
list.add(new ItemStack(ModItems.rtg_unit, 6));
|
||||
list.add(new ItemStack(ModItems.rtg_unit, 5));
|
||||
list.add(new ItemStack(ModItems.plate_steel, 8));
|
||||
list.add(new ItemStack(ModItems.wire_red_copper, 4));
|
||||
break;
|
||||
@ -2446,6 +2446,207 @@ public class MachineRecipes {
|
||||
list.add(new ItemStack(ModItems.plate_titanium, 10));
|
||||
list.add(new ItemStack(ModItems.plate_steel, 14));
|
||||
break;
|
||||
case MISSILE_HE_3:
|
||||
list.add(new ItemStack(ModItems.warhead_generic_large, 1));
|
||||
list.add(new ItemStack(ModItems.fuel_tank_large, 1));
|
||||
list.add(new ItemStack(ModItems.thruster_large, 1));
|
||||
list.add(new ItemStack(ModItems.plate_titanium, 14));
|
||||
list.add(new ItemStack(ModItems.plate_steel, 20));
|
||||
list.add(new ItemStack(ModItems.plate_aluminium, 12));
|
||||
break;
|
||||
case MISSILE_FIRE_3:
|
||||
list.add(new ItemStack(ModItems.warhead_incendiary_large, 1));
|
||||
list.add(new ItemStack(ModItems.fuel_tank_large, 1));
|
||||
list.add(new ItemStack(ModItems.thruster_large, 1));
|
||||
list.add(new ItemStack(ModItems.plate_titanium, 14));
|
||||
list.add(new ItemStack(ModItems.plate_steel, 20));
|
||||
list.add(new ItemStack(ModItems.plate_aluminium, 12));
|
||||
break;
|
||||
case MISSILE_CLUSTER_3:
|
||||
list.add(new ItemStack(ModItems.warhead_cluster_large, 1));
|
||||
list.add(new ItemStack(ModItems.fuel_tank_large, 1));
|
||||
list.add(new ItemStack(ModItems.thruster_large, 1));
|
||||
list.add(new ItemStack(ModItems.plate_titanium, 14));
|
||||
list.add(new ItemStack(ModItems.plate_steel, 20));
|
||||
list.add(new ItemStack(ModItems.plate_aluminium, 12));
|
||||
break;
|
||||
case MISSILE_BUSTER_3:
|
||||
list.add(new ItemStack(ModItems.warhead_buster_large, 1));
|
||||
list.add(new ItemStack(ModItems.fuel_tank_large, 1));
|
||||
list.add(new ItemStack(ModItems.thruster_large, 1));
|
||||
list.add(new ItemStack(ModItems.plate_titanium, 14));
|
||||
list.add(new ItemStack(ModItems.plate_steel, 20));
|
||||
list.add(new ItemStack(ModItems.plate_aluminium, 12));
|
||||
break;
|
||||
case MISSILE_NUCLEAR:
|
||||
list.add(new ItemStack(ModItems.warhead_nuclear, 1));
|
||||
list.add(new ItemStack(ModItems.fuel_tank_large, 1));
|
||||
list.add(new ItemStack(ModItems.thruster_large, 1));
|
||||
list.add(new ItemStack(ModItems.plate_titanium, 20));
|
||||
list.add(new ItemStack(ModItems.plate_steel, 24));
|
||||
list.add(new ItemStack(ModItems.plate_aluminium, 16));
|
||||
break;
|
||||
case MISSILE_MIRV:
|
||||
list.add(new ItemStack(ModItems.warhead_mirv, 1));
|
||||
list.add(new ItemStack(ModItems.fuel_tank_large, 1));
|
||||
list.add(new ItemStack(ModItems.thruster_large, 1));
|
||||
list.add(new ItemStack(ModItems.plate_titanium, 20));
|
||||
list.add(new ItemStack(ModItems.plate_steel, 24));
|
||||
list.add(new ItemStack(ModItems.plate_aluminium, 16));
|
||||
break;
|
||||
case MISSILE_ENDO:
|
||||
list.add(new ItemStack(ModItems.warhead_thermo_endo, 1));
|
||||
list.add(new ItemStack(ModItems.fuel_tank_large, 1));
|
||||
list.add(new ItemStack(ModItems.thruster_large, 1));
|
||||
list.add(new ItemStack(ModItems.plate_titanium, 14));
|
||||
list.add(new ItemStack(ModItems.plate_steel, 20));
|
||||
list.add(new ItemStack(ModItems.plate_aluminium, 12));
|
||||
break;
|
||||
case MISSILE_EXO:
|
||||
list.add(new ItemStack(ModItems.warhead_thermo_exo, 1));
|
||||
list.add(new ItemStack(ModItems.fuel_tank_large, 1));
|
||||
list.add(new ItemStack(ModItems.thruster_large, 1));
|
||||
list.add(new ItemStack(ModItems.plate_titanium, 14));
|
||||
list.add(new ItemStack(ModItems.plate_steel, 20));
|
||||
list.add(new ItemStack(ModItems.plate_aluminium, 12));
|
||||
break;
|
||||
case DEFAB:
|
||||
list.add(new ItemStack(ModItems.ingot_steel, 2));
|
||||
list.add(new ItemStack(ModItems.plate_iron, 5));
|
||||
list.add(new ItemStack(Items.diamond, 1));
|
||||
list.add(new ItemStack(ModItems.plate_dalekanium, 3));
|
||||
break;
|
||||
case LASER_BUCKSHOT:
|
||||
list.add(new ItemStack(ModItems.powder_power, 1));
|
||||
list.add(new ItemStack(ModItems.powder_lead, 1));
|
||||
break;
|
||||
case ROCKET:
|
||||
list.add(new ItemStack(ModItems.plate_steel, 1));
|
||||
list.add(new ItemStack(ModItems.plate_iron, 5));
|
||||
list.add(new ItemStack(Blocks.tnt, 1));
|
||||
break;
|
||||
case MINI_NUKE:
|
||||
list.add(new ItemStack(ModItems.plate_steel, 3));
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
list.add(new ItemStack(ModItems.nugget_pu239, 3));
|
||||
break;
|
||||
case MINI_MIRV:
|
||||
list.add(new ItemStack(ModItems.plate_steel, 20));
|
||||
list.add(new ItemStack(ModItems.plate_iron, 10));
|
||||
list.add(new ItemStack(ModItems.nugget_pu239, 3));
|
||||
break;
|
||||
case DARK_PLUG:
|
||||
list.add(new ItemStack(ModItems.plate_steel, 2));
|
||||
list.add(new ItemStack(Items.redstone, 1));
|
||||
list.add(new ItemStack(Items.glowstone_dust, 1));
|
||||
break;
|
||||
case COMBINE_BALL:
|
||||
list.add(new ItemStack(ModItems.plate_combine_steel, 4));
|
||||
list.add(new ItemStack(Items.redstone, 7));
|
||||
list.add(new ItemStack(ModItems.powder_power, 3));
|
||||
break;
|
||||
case GREANADE_ENHANCED:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 4));
|
||||
list.add(new ItemStack(ModItems.plate_steel, 2));
|
||||
list.add(new ItemStack(ModItems.wire_red_copper, 2));
|
||||
list.add(new ItemStack(Blocks.tnt, 1));
|
||||
break;
|
||||
case GRENADE_FLAME:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case GRENADE_SHRAPNEL:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case GRENAGE_CLUSTER:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case GREANADE_FLARE:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case GRENADE_LIGHTNING:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case GRENADE_IMPULSE:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case GRENADE_PLASMA:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case GRENADE_TAU:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case GRENADE_SCHRABIDIUM:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case GRENADE_MK2:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case GRENADE_ASCHRAB:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case GRENADE_NUKE:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case GRENADE_ZOMG:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case GRENADE_BLACK_HOLE:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case POWER_FIST:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case GADGET_PROPELLANT:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case GADGET_WIRING:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case GADGET_CORE:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case BOY_SHIELDING:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case BOY_TARGET:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case BOY_BULLET:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case BOY_PRPELLANT:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case BOY_IGNITER:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case MAN_PROPELLANT:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case MAN_IGNITER:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case MAN_CORE:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case MIKE_TANK:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case MIKE_DEUT:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case MIKE_COOLER:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case FLEIIJA_IGNITER:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case FLEIJA_CORE:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
case FLEIJA_PROPELLANT:
|
||||
list.add(new ItemStack(ModItems.plate_iron, 1));
|
||||
break;
|
||||
default:
|
||||
list.add(new ItemStack(Items.stick));
|
||||
break;
|
||||
@ -2793,10 +2994,10 @@ public class MachineRecipes {
|
||||
output = new ItemStack(ModBlocks.machine_refinery, 1);
|
||||
break;
|
||||
case CHEMPLANT:
|
||||
output = new ItemStack(ModBlocks.machine_refinery, 1);
|
||||
output = new ItemStack(ModBlocks.machine_chemplant, 1);
|
||||
break;
|
||||
case TANK:
|
||||
output = new ItemStack(ModBlocks.machine_refinery, 1);
|
||||
output = new ItemStack(ModBlocks.machine_fluidtank, 1);
|
||||
break;
|
||||
case MINER:
|
||||
output = new ItemStack(ModBlocks.machine_drill, 1);
|
||||
@ -2942,6 +3143,150 @@ public class MachineRecipes {
|
||||
case MISSILE_BUSTER_2:
|
||||
output = new ItemStack(ModItems.missile_buster_strong, 1);
|
||||
break;
|
||||
case MISSILE_HE_3:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case MISSILE_FIRE_3:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case MISSILE_CLUSTER_3:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case MISSILE_BUSTER_3:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case MISSILE_NUCLEAR:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case MISSILE_MIRV:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case MISSILE_ENDO:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case MISSILE_EXO:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case DEFAB:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case LASER_BUCKSHOT:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case ROCKET:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case MINI_NUKE:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case MINI_MIRV:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case DARK_PLUG:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case COMBINE_BALL:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case GREANADE_ENHANCED:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case GRENADE_FLAME:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case GRENADE_SHRAPNEL:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case GRENAGE_CLUSTER:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case GREANADE_FLARE:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case GRENADE_LIGHTNING:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case GRENADE_IMPULSE:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case GRENADE_PLASMA:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case GRENADE_TAU:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case GRENADE_SCHRABIDIUM:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case GRENADE_MK2:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case GRENADE_ASCHRAB:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case GRENADE_NUKE:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case GRENADE_ZOMG:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case GRENADE_BLACK_HOLE:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case POWER_FIST:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case GADGET_PROPELLANT:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case GADGET_WIRING:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case GADGET_CORE:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case BOY_SHIELDING:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case BOY_TARGET:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case BOY_BULLET:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case BOY_PRPELLANT:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case BOY_IGNITER:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case MAN_PROPELLANT:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case MAN_IGNITER:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case MAN_CORE:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case MIKE_TANK:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case MIKE_DEUT:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case MIKE_COOLER:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case FLEIIJA_IGNITER:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case FLEIJA_CORE:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
case FLEIJA_PROPELLANT:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
default:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
@ -3102,6 +3447,16 @@ public class MachineRecipes {
|
||||
list.add(new ItemStack(ModItems.powder_diamond, 4));
|
||||
list.add(new ItemStack(ModItems.powder_power, 1));
|
||||
break;
|
||||
case POLYMER:
|
||||
list.add(new ItemStack(Items.coal, 2));
|
||||
list.add(new ItemStack(ModItems.fluorite, 1));
|
||||
break;
|
||||
case DEUTERIUM:
|
||||
list.add(new ItemStack(ModItems.sulfur, 1));
|
||||
break;
|
||||
case BP_BIOGAS:
|
||||
list.add(new ItemStack(ModItems.biomass, 16));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -3199,6 +3554,57 @@ public class MachineRecipes {
|
||||
input[0] = new FluidStack(800, FluidType.ACID);
|
||||
input[1] = new FluidStack(400, FluidType.PETROLEUM);
|
||||
break;
|
||||
case SF_OIL:
|
||||
input[0] = new FluidStack(350, FluidType.OIL);
|
||||
break;
|
||||
case SF_HEAVYOIL:
|
||||
input[0] = new FluidStack(250, FluidType.HEAVYOIL);
|
||||
break;
|
||||
case SF_SMEAR:
|
||||
input[0] = new FluidStack(200, FluidType.SMEAR);
|
||||
break;
|
||||
case SF_HEATINGOIL:
|
||||
input[0] = new FluidStack(100, FluidType.HEATINGOIL);
|
||||
break;
|
||||
case SF_RECLAIMED:
|
||||
input[0] = new FluidStack(200, FluidType.RECLAIMED);
|
||||
break;
|
||||
case SF_PETROIL:
|
||||
input[0] = new FluidStack(250, FluidType.PETROIL);
|
||||
break;
|
||||
case SF_LUBRICANT:
|
||||
input[0] = new FluidStack(250, FluidType.LUBRICANT);
|
||||
break;
|
||||
case SF_NAPHTHA:
|
||||
input[0] = new FluidStack(300, FluidType.NAPHTHA);
|
||||
break;
|
||||
case SF_DIESEL:
|
||||
input[0] = new FluidStack(400, FluidType.DIESEL);
|
||||
break;
|
||||
case SF_LIGHTOIL:
|
||||
input[0] = new FluidStack(450, FluidType.LIGHTOIL);
|
||||
break;
|
||||
case SF_KEROSENE:
|
||||
input[0] = new FluidStack(550, FluidType.KEROSENE);
|
||||
break;
|
||||
case SF_GAS:
|
||||
input[0] = new FluidStack(750, FluidType.GAS);
|
||||
break;
|
||||
case SF_PETROLEUM:
|
||||
input[0] = new FluidStack(600, FluidType.PETROLEUM);
|
||||
break;
|
||||
case POLYMER:
|
||||
input[0] = new FluidStack(600, FluidType.PETROLEUM);
|
||||
break;
|
||||
case DEUTERIUM:
|
||||
input[0] = new FluidStack(4000, FluidType.WATER);
|
||||
break;
|
||||
case STEAM:
|
||||
input[0] = new FluidStack(1000, FluidType.WATER);
|
||||
break;
|
||||
case BP_BIOFUEL:
|
||||
input[0] = new FluidStack(1000, FluidType.BIOGAS);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -3233,6 +3639,61 @@ public class MachineRecipes {
|
||||
case CIRCUIT_5:
|
||||
output[0] = new ItemStack(ModItems.circuit_schrabidium, 1);
|
||||
break;
|
||||
case SF_OIL:
|
||||
output[0] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
output[1] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
break;
|
||||
case SF_HEAVYOIL:
|
||||
output[0] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
output[1] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
break;
|
||||
case SF_SMEAR:
|
||||
output[0] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
output[1] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
break;
|
||||
case SF_HEATINGOIL:
|
||||
output[0] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
output[1] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
break;
|
||||
case SF_RECLAIMED:
|
||||
output[0] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
output[1] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
break;
|
||||
case SF_PETROIL:
|
||||
output[0] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
output[1] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
break;
|
||||
case SF_LUBRICANT:
|
||||
output[0] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
output[1] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
break;
|
||||
case SF_NAPHTHA:
|
||||
output[0] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
output[1] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
break;
|
||||
case SF_DIESEL:
|
||||
output[0] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
output[1] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
break;
|
||||
case SF_LIGHTOIL:
|
||||
output[0] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
output[1] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
break;
|
||||
case SF_KEROSENE:
|
||||
output[0] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
output[1] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
break;
|
||||
case SF_GAS:
|
||||
output[0] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
output[1] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
break;
|
||||
case SF_PETROLEUM:
|
||||
output[0] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
output[1] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
break;
|
||||
case POLYMER:
|
||||
output[0] = new ItemStack(ModItems.ingot_polymer, 1);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -3306,6 +3767,18 @@ public class MachineRecipes {
|
||||
case PEROXIDE:
|
||||
input[0] = new FluidStack(800, FluidType.ACID);
|
||||
break;
|
||||
case DEUTERIUM:
|
||||
input[0] = new FluidStack(500, FluidType.DEUTERIUM);
|
||||
break;
|
||||
case STEAM:
|
||||
input[0] = new FluidStack(1000, FluidType.DEUTERIUM);
|
||||
break;
|
||||
case BP_BIOGAS:
|
||||
input[0] = new FluidStack(1000, FluidType.BIOGAS);
|
||||
break;
|
||||
case BP_BIOFUEL:
|
||||
input[0] = new FluidStack(500, FluidType.BIOFUEL);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@ -13,8 +13,6 @@ public class ContainerReactorMultiblock extends Container {
|
||||
|
||||
private TileEntityReactorMultiblock diFurnace;
|
||||
|
||||
private int water;
|
||||
private int cool;
|
||||
private int power;
|
||||
private int heat;
|
||||
|
||||
@ -52,14 +50,18 @@ public class ContainerReactorMultiblock extends Container {
|
||||
this.addSlotToContainer(new Slot(tedf, 27, 116, 90));
|
||||
this.addSlotToContainer(new Slot(tedf, 28, 134, 90));
|
||||
this.addSlotToContainer(new Slot(tedf, 29, 152, 90));
|
||||
//Water
|
||||
this.addSlotToContainer(new Slot(tedf, 30, 8, 90));
|
||||
//Coolant
|
||||
this.addSlotToContainer(new Slot(tedf, 31, 26, 90));
|
||||
//Water In
|
||||
this.addSlotToContainer(new Slot(tedf, 30, 8, 90 - 18));
|
||||
//Water Out
|
||||
this.addSlotToContainer(new Slot(tedf, 31, 8, 90));
|
||||
//Coolant In
|
||||
this.addSlotToContainer(new Slot(tedf, 32, 26, 90 - 18));
|
||||
//Coolant Out
|
||||
this.addSlotToContainer(new Slot(tedf, 33, 26, 90));
|
||||
//Batteries
|
||||
this.addSlotToContainer(new Slot(tedf, 32, 44, 90));
|
||||
this.addSlotToContainer(new Slot(tedf, 34, 44, 90));
|
||||
//Fuse
|
||||
this.addSlotToContainer(new Slot(tedf, 33, 8, 108));
|
||||
this.addSlotToContainer(new Slot(tedf, 35, 8, 108));
|
||||
|
||||
for(int i = 0; i < 3; i++)
|
||||
{
|
||||
@ -78,10 +80,8 @@ public class ContainerReactorMultiblock extends Container {
|
||||
@Override
|
||||
public void addCraftingToCrafters(ICrafting crafting) {
|
||||
super.addCraftingToCrafters(crafting);
|
||||
crafting.sendProgressBarUpdate(this, 0, this.diFurnace.water);
|
||||
crafting.sendProgressBarUpdate(this, 1, this.diFurnace.cool);
|
||||
crafting.sendProgressBarUpdate(this, 2, this.diFurnace.power);
|
||||
crafting.sendProgressBarUpdate(this, 3, this.diFurnace.heat);
|
||||
crafting.sendProgressBarUpdate(this, 0, this.diFurnace.power);
|
||||
crafting.sendProgressBarUpdate(this, 1, this.diFurnace.heat);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -130,29 +130,18 @@ public class ContainerReactorMultiblock extends Container {
|
||||
{
|
||||
ICrafting par1 = (ICrafting)this.crafters.get(i);
|
||||
|
||||
if(this.water != this.diFurnace.water)
|
||||
{
|
||||
par1.sendProgressBarUpdate(this, 0, this.diFurnace.water);
|
||||
}
|
||||
|
||||
if(this.cool != this.diFurnace.cool)
|
||||
{
|
||||
par1.sendProgressBarUpdate(this, 1, this.diFurnace.cool);
|
||||
}
|
||||
|
||||
if(this.power != this.diFurnace.power)
|
||||
{
|
||||
par1.sendProgressBarUpdate(this, 2, this.diFurnace.power);
|
||||
par1.sendProgressBarUpdate(this, 0, this.diFurnace.power);
|
||||
}
|
||||
|
||||
if(this.heat != this.diFurnace.heat)
|
||||
{
|
||||
par1.sendProgressBarUpdate(this, 3, this.diFurnace.heat);
|
||||
par1.sendProgressBarUpdate(this, 1, this.diFurnace.heat);
|
||||
}
|
||||
}
|
||||
|
||||
this.water = this.diFurnace.water;
|
||||
this.cool = this.diFurnace.cool;
|
||||
this.power = this.diFurnace.power;
|
||||
this.heat = this.diFurnace.heat;
|
||||
}
|
||||
@ -160,18 +149,10 @@ public class ContainerReactorMultiblock extends Container {
|
||||
@Override
|
||||
public void updateProgressBar(int i, int j) {
|
||||
if(i == 0)
|
||||
{
|
||||
diFurnace.water = j;
|
||||
}
|
||||
if(i == 1)
|
||||
{
|
||||
diFurnace.cool = j;
|
||||
}
|
||||
if(i == 2)
|
||||
{
|
||||
diFurnace.power = j;
|
||||
}
|
||||
if(i == 3)
|
||||
if(i == 1)
|
||||
{
|
||||
diFurnace.heat = j;
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@ package com.hbm.inventory.gui;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.inventory.FluidTank;
|
||||
import com.hbm.inventory.container.ContainerReactorMultiblock;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.tileentity.machine.TileEntityReactorMultiblock;
|
||||
@ -12,7 +13,7 @@ import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class GUIReactorMultiblock extends GuiContainer {
|
||||
public class GUIReactorMultiblock extends GuiFluidContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_reactor_multiblock.png");
|
||||
private TileEntityReactorMultiblock diFurnace;
|
||||
@ -25,6 +26,14 @@ public class GUIReactorMultiblock extends GuiContainer {
|
||||
this.ySize = 222;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawScreen(int mouseX, int mouseY, float f) {
|
||||
super.drawScreen(mouseX, mouseY, f);
|
||||
|
||||
diFurnace.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 70 - 52, 16, 52);
|
||||
diFurnace.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 26, guiTop + 70 - 52, 16, 52);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerForegroundLayer(int i, int j) {
|
||||
String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName());
|
||||
@ -39,16 +48,15 @@ public class GUIReactorMultiblock extends GuiContainer {
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||
|
||||
int i = diFurnace.getWaterScaled(70);
|
||||
drawTexturedModalRect(guiLeft + 8, guiTop + 88 - i, 176, 70 - i, 16, i);
|
||||
|
||||
int j = diFurnace.getCoolantScaled(70);
|
||||
drawTexturedModalRect(guiLeft + 26, guiTop + 88 - j, 192, 70 - j, 16, j);
|
||||
|
||||
int k = diFurnace.getPowerScaled(70);
|
||||
drawTexturedModalRect(guiLeft + 44, guiTop + 88 - k, 208, 70 - k, 16, k);
|
||||
|
||||
int l = diFurnace.getHeatScaled(142);
|
||||
drawTexturedModalRect(guiLeft + 26, guiTop + 108, 0, 222, l, 16);
|
||||
drawTexturedModalRect(guiLeft + 26, guiTop + 108, 0, 222, l, 16);
|
||||
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(FluidTank.fluidTextures);
|
||||
|
||||
diFurnace.tanks[0].renderTank(this, guiLeft + 8, guiTop + 70, diFurnace.tanks[0].getTankType().textureX() * FluidTank.x, diFurnace.tanks[0].getTankType().textureY() * FluidTank.y, 16, 52);
|
||||
diFurnace.tanks[1].renderTank(this, guiLeft + 26, guiTop + 70, diFurnace.tanks[1].getTankType().textureX() * FluidTank.x, diFurnace.tanks[1].getTankType().textureY() * FluidTank.y, 16, 52);
|
||||
}
|
||||
}
|
||||
|
||||
@ -207,6 +207,8 @@ public class ModItems {
|
||||
public static Item fragment_lanthanium;
|
||||
public static Item fragment_actinium;
|
||||
|
||||
public static Item biomass;
|
||||
|
||||
public static Item coil_copper;
|
||||
public static Item coil_copper_torus;
|
||||
public static Item coil_tungsten;
|
||||
@ -536,6 +538,7 @@ public class ModItems {
|
||||
public static Item designator_range;
|
||||
public static Item linker;
|
||||
public static Item oil_detector;
|
||||
public static Item geiger_counter;
|
||||
|
||||
public static Item template_folder;
|
||||
public static Item assembly_template;
|
||||
@ -1190,6 +1193,8 @@ public class ModItems {
|
||||
fragment_cerium = new Item().setUnlocalizedName("fragment_cerium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fragment_cerium");
|
||||
fragment_lanthanium = new Item().setUnlocalizedName("fragment_lanthanium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fragment_lanthanium");
|
||||
fragment_actinium = new Item().setUnlocalizedName("fragment_actinium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fragment_actinium");
|
||||
|
||||
biomass = new Item().setUnlocalizedName("biomass").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":biomass");
|
||||
|
||||
coil_copper = new Item().setUnlocalizedName("coil_copper").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":coil_copper");
|
||||
coil_copper_torus = new Item().setUnlocalizedName("coil_copper_torus").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":coil_copper_torus");
|
||||
@ -1743,6 +1748,7 @@ public class ModItems {
|
||||
linker = new ItemTeleLink().setUnlocalizedName("linker").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":linker");
|
||||
oil_detector = new ItemOilDetector().setUnlocalizedName("oil_detector").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":oil_detector");
|
||||
turret_control = new ItemTurretControl().setUnlocalizedName("turret_control").setFull3D().setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":turret_control");
|
||||
geiger_counter = new ItemGeigerCounter().setUnlocalizedName("geiger_counter").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":geiger_counter");
|
||||
|
||||
template_folder = new ItemTemplateFolder().setUnlocalizedName("template_folder").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":template_folder");
|
||||
assembly_template = new ItemAssemblyTemplate().setUnlocalizedName("assembly_template").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":assembly_template");
|
||||
@ -2118,6 +2124,9 @@ public class ModItems {
|
||||
GameRegistry.registerItem(fragment_cerium, fragment_cerium.getUnlocalizedName());
|
||||
GameRegistry.registerItem(fragment_lanthanium, fragment_lanthanium.getUnlocalizedName());
|
||||
GameRegistry.registerItem(fragment_actinium, fragment_actinium.getUnlocalizedName());
|
||||
|
||||
//Things that look like rotten flesh but aren't
|
||||
GameRegistry.registerItem(biomass, biomass.getUnlocalizedName());
|
||||
|
||||
//Nuggets
|
||||
GameRegistry.registerItem(nugget_uranium, nugget_uranium.getUnlocalizedName());
|
||||
@ -2566,6 +2575,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(turret_control, turret_control.getUnlocalizedName());
|
||||
GameRegistry.registerItem(linker, linker.getUnlocalizedName());
|
||||
GameRegistry.registerItem(oil_detector, oil_detector.getUnlocalizedName());
|
||||
GameRegistry.registerItem(geiger_counter, geiger_counter.getUnlocalizedName());
|
||||
|
||||
//Missiles
|
||||
GameRegistry.registerItem(missile_generic, missile_generic.getUnlocalizedName());
|
||||
|
||||
@ -535,21 +535,21 @@ public class ItemCustomLore extends ItemRadioactive {
|
||||
{
|
||||
list.add("Afterburner Upgrade");
|
||||
list.add("Turbofan:");
|
||||
list.add("XXXXXXX");
|
||||
list.add("Production x2 / Consumption x2.5");
|
||||
}
|
||||
|
||||
if(this == ModItems.upgrade_afterburn_2)
|
||||
{
|
||||
list.add("Afterburner Upgrade");
|
||||
list.add("Turbofan:");
|
||||
list.add("XXXXXXX");
|
||||
list.add("Production x3 / Consumption x5");
|
||||
}
|
||||
|
||||
if(this == ModItems.upgrade_afterburn_3)
|
||||
{
|
||||
list.add("Afterburner Upgrade");
|
||||
list.add("Turbofan:");
|
||||
list.add("XXXXXXX");
|
||||
list.add("Production x4 / Consumption x7.5");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -16,27 +16,211 @@ public class ItemAssemblyTemplate extends Item {
|
||||
|
||||
public enum EnumAssemblyTemplate {
|
||||
|
||||
TEST, MIXED_PLATE, HAZMAT_CLOTH, ASBESTOS_CLOTH, COAL_FILTER, CENTRIFUGE_ELEMENT, CENTRIFUGE_TOWER,
|
||||
DEE_MAGNET, FLAT_MAGNET, CYCLOTRON_TOWER, REACTOR_CORE, RTG_UNIT, HEAT_UNIT, GRAVITY_UNIT,
|
||||
TITANIUM_DRILL, TELEPAD, TELEKIT, GEASS_REACTOR, GENERATOR_FRONT, WT1_GENERIC, WT2_GENERIC,
|
||||
WT3_GENERIC, WT1_FIRE, WT2_FIRE, WT3_FIRE, WT1_CLUSTER, WT2_CLUSTER, WT3_CLUSTER, WT1_BUSTER,
|
||||
WT2_BUSTER, WT3_BUSTER, W_NUCLEAR, W_MIRVLET, W_MIRV, W_ENDOTHERMIC, W_EXOTHERMIC, T1_TANK, T2_TANK,
|
||||
T3_TANK, T1_THRUSTER, T2_THRUSTER, T3_THRUSTER, CHOPPER_HEAD, CHOPPER_GUN, CHOPPER_BODY,
|
||||
CHOPPER_TAIL, CHOPPER_WING, CHOPPER_BLADES, CIRCUIT_2, CIRCUIT_3, RTG_PELLET, WEAK_PELLET,
|
||||
FUSION_PELLET, CLUSTER_PELLETS, GUN_PELLETS, AUSTRALIUM_MACHINE, MAGNETRON, W_SP, W_SHE, W_SME,
|
||||
W_SLE, W_B, W_N, W_L, W_A, UPGRADE_TEMPLATE, UPGRADE_RED_I, UPGRADE_RED_II, UPGRADE_RED_III,
|
||||
UPGRADE_GREEN_I, UPGRADE_GREEN_II, UPGRADE_GREEN_III, UPGRADE_BLUE_I, UPGRADE_BLUE_II,
|
||||
UPGRADE_BLUE_III, UPGRADE_PURPLE_I, UPGRADE_PURPLE_II, UPGRADE_PURPLE_III, FUSE, REDCOIL_CAPACITOR,
|
||||
TITANIUM_FILTER, LITHIUM_BOX, BERYLLIUM_BOX, COAL_BOX, COPPER_BOX, PLUTONIUM_BOX, THERMO_ELEMENT,
|
||||
LIMITER, ANGRY_METAL, CMB_TILE, CMB_BRICKS, HATCH_FRAME, HATCH_CONTROLLER, CENTRIFUGE,
|
||||
BREEDING_REACTOR, RTG_FURNACE, DIESEL_GENERATOR, NUCLEAR_GENERATOR, INDUSTRIAL_GENERATOR, CYCLOTRON,
|
||||
RT_GENERATOR, BATTERY, HE_TO_RF, RF_TO_HE, SHREDDER, DERRICK, FLARE_STACK,
|
||||
REFINERY, CHEMPLANT, TANK, MINER, SCHRABTRANS, CMB_FURNACE, FA_HULL, FA_HATCH, FA_CORE, FA_PORT,
|
||||
LR_ELEMENT, LR_HATCH, LR_PORT, LR_CORE, LF_MAGNET, LF_CENTER, LF_MOTOR, LF_HEATER, LF_HATCH, LF_CORE,
|
||||
LW_ELEMENT, LW_CONTROL, LW_COOLER, LW_STRUTURE, LW_HATCH, LW_PORT, LW_CORE, FW_MAGNET, FW_COMPUTER,
|
||||
FW_CORE, GADGET, LITTLE_BOY, FAT_MAN, IVY_MIKE, TSAR_BOMB, PROTOTYPE, FLEIJA, CUSTOM_NUKE, BOMB_LEV,
|
||||
BOMB_ENDO, BOMB_EXO, LAUNCH_PAD, HUNTER_CHOPPER, MISSILE_HE_1, MISSILE_FIRE_1, MISSILE_CLUSTER_1,
|
||||
MISSILE_BUSTER_1, MISSILE_HE_2, MISSILE_FIRE_2, MISSILE_CLUSTER_2, MISSILE_BUSTER_2;
|
||||
TEST,
|
||||
MIXED_PLATE,
|
||||
HAZMAT_CLOTH,
|
||||
ASBESTOS_CLOTH,
|
||||
COAL_FILTER,
|
||||
CENTRIFUGE_ELEMENT,
|
||||
CENTRIFUGE_TOWER,
|
||||
DEE_MAGNET,
|
||||
FLAT_MAGNET,
|
||||
CYCLOTRON_TOWER,
|
||||
REACTOR_CORE,
|
||||
RTG_UNIT,
|
||||
HEAT_UNIT,
|
||||
GRAVITY_UNIT,
|
||||
TITANIUM_DRILL,
|
||||
TELEPAD, TELEKIT,
|
||||
GEASS_REACTOR,
|
||||
GENERATOR_FRONT,
|
||||
WT1_GENERIC,
|
||||
WT2_GENERIC,
|
||||
WT3_GENERIC,
|
||||
WT1_FIRE,
|
||||
WT2_FIRE,
|
||||
WT3_FIRE,
|
||||
WT1_CLUSTER,
|
||||
WT2_CLUSTER,
|
||||
WT3_CLUSTER,
|
||||
WT1_BUSTER,
|
||||
WT2_BUSTER,
|
||||
WT3_BUSTER,
|
||||
W_NUCLEAR,
|
||||
W_MIRVLET,
|
||||
W_MIRV,
|
||||
W_ENDOTHERMIC,
|
||||
W_EXOTHERMIC,
|
||||
T1_TANK,
|
||||
T2_TANK,
|
||||
T3_TANK,
|
||||
T1_THRUSTER,
|
||||
T2_THRUSTER,
|
||||
T3_THRUSTER,
|
||||
CHOPPER_HEAD,
|
||||
CHOPPER_GUN,
|
||||
CHOPPER_BODY,
|
||||
CHOPPER_TAIL,
|
||||
CHOPPER_WING,
|
||||
CHOPPER_BLADES,
|
||||
CIRCUIT_2,
|
||||
CIRCUIT_3,
|
||||
RTG_PELLET,
|
||||
WEAK_PELLET,
|
||||
FUSION_PELLET,
|
||||
CLUSTER_PELLETS,
|
||||
GUN_PELLETS,
|
||||
AUSTRALIUM_MACHINE,
|
||||
MAGNETRON,
|
||||
W_SP,
|
||||
W_SHE,
|
||||
W_SME,
|
||||
W_SLE,
|
||||
W_B,
|
||||
W_N,
|
||||
W_L,
|
||||
W_A,
|
||||
UPGRADE_TEMPLATE,
|
||||
UPGRADE_RED_I,
|
||||
UPGRADE_RED_II,
|
||||
UPGRADE_RED_III,
|
||||
UPGRADE_GREEN_I,
|
||||
UPGRADE_GREEN_II,
|
||||
UPGRADE_GREEN_III,
|
||||
UPGRADE_BLUE_I,
|
||||
UPGRADE_BLUE_II,
|
||||
UPGRADE_BLUE_III,
|
||||
UPGRADE_PURPLE_I,
|
||||
UPGRADE_PURPLE_II,
|
||||
UPGRADE_PURPLE_III,
|
||||
FUSE,
|
||||
REDCOIL_CAPACITOR,
|
||||
TITANIUM_FILTER,
|
||||
LITHIUM_BOX,
|
||||
BERYLLIUM_BOX,
|
||||
COAL_BOX,
|
||||
COPPER_BOX,
|
||||
PLUTONIUM_BOX,
|
||||
THERMO_ELEMENT,
|
||||
LIMITER,
|
||||
ANGRY_METAL,
|
||||
CMB_TILE,
|
||||
CMB_BRICKS,
|
||||
HATCH_FRAME,
|
||||
HATCH_CONTROLLER,
|
||||
CENTRIFUGE,
|
||||
BREEDING_REACTOR,
|
||||
RTG_FURNACE,
|
||||
DIESEL_GENERATOR,
|
||||
NUCLEAR_GENERATOR,
|
||||
INDUSTRIAL_GENERATOR,
|
||||
CYCLOTRON,
|
||||
RT_GENERATOR,
|
||||
BATTERY,
|
||||
HE_TO_RF,
|
||||
RF_TO_HE,
|
||||
SHREDDER,
|
||||
DERRICK,
|
||||
FLARE_STACK,
|
||||
REFINERY,
|
||||
CHEMPLANT,
|
||||
TANK,
|
||||
MINER,
|
||||
SCHRABTRANS,
|
||||
CMB_FURNACE,
|
||||
FA_HULL,
|
||||
FA_HATCH,
|
||||
FA_CORE,
|
||||
FA_PORT,
|
||||
LR_ELEMENT,
|
||||
LR_HATCH,
|
||||
LR_PORT,
|
||||
LR_CORE,
|
||||
LF_MAGNET,
|
||||
LF_CENTER,
|
||||
LF_MOTOR,
|
||||
LF_HEATER,
|
||||
LF_HATCH,
|
||||
LF_CORE,
|
||||
LW_ELEMENT,
|
||||
LW_CONTROL,
|
||||
LW_COOLER,
|
||||
LW_STRUTURE,
|
||||
LW_HATCH,
|
||||
LW_PORT,
|
||||
LW_CORE,
|
||||
FW_MAGNET,
|
||||
FW_COMPUTER,
|
||||
FW_CORE,
|
||||
GADGET,
|
||||
LITTLE_BOY,
|
||||
FAT_MAN,
|
||||
IVY_MIKE,
|
||||
TSAR_BOMB,
|
||||
PROTOTYPE,
|
||||
FLEIJA,
|
||||
CUSTOM_NUKE,
|
||||
BOMB_LEV,
|
||||
BOMB_ENDO,
|
||||
BOMB_EXO,
|
||||
LAUNCH_PAD,
|
||||
HUNTER_CHOPPER,
|
||||
MISSILE_HE_1,
|
||||
MISSILE_FIRE_1,
|
||||
MISSILE_CLUSTER_1,
|
||||
MISSILE_BUSTER_1,
|
||||
MISSILE_HE_2,
|
||||
MISSILE_FIRE_2,
|
||||
MISSILE_CLUSTER_2,
|
||||
MISSILE_BUSTER_2,
|
||||
MISSILE_HE_3,
|
||||
MISSILE_FIRE_3,
|
||||
MISSILE_CLUSTER_3,
|
||||
MISSILE_BUSTER_3,
|
||||
MISSILE_NUCLEAR,
|
||||
MISSILE_MIRV,
|
||||
MISSILE_ENDO,
|
||||
MISSILE_EXO,
|
||||
DEFAB,
|
||||
LASER_BUCKSHOT,
|
||||
ROCKET,
|
||||
MINI_NUKE,
|
||||
MINI_MIRV,
|
||||
DARK_PLUG,
|
||||
COMBINE_BALL,
|
||||
GREANADE_ENHANCED,
|
||||
GRENADE_FLAME,
|
||||
GRENADE_SHRAPNEL,
|
||||
GRENAGE_CLUSTER,
|
||||
GREANADE_FLARE,
|
||||
GRENADE_LIGHTNING,
|
||||
GRENADE_IMPULSE,
|
||||
GRENADE_PLASMA,
|
||||
GRENADE_TAU,
|
||||
GRENADE_SCHRABIDIUM,
|
||||
GRENADE_MK2,
|
||||
GRENADE_ASCHRAB,
|
||||
GRENADE_NUKE,
|
||||
GRENADE_ZOMG,
|
||||
GRENADE_BLACK_HOLE,
|
||||
POWER_FIST,
|
||||
GADGET_PROPELLANT,
|
||||
GADGET_WIRING,
|
||||
GADGET_CORE,
|
||||
BOY_SHIELDING,
|
||||
BOY_TARGET,
|
||||
BOY_BULLET,
|
||||
BOY_PRPELLANT,
|
||||
BOY_IGNITER,
|
||||
MAN_PROPELLANT,
|
||||
MAN_IGNITER,
|
||||
MAN_CORE,
|
||||
MIKE_TANK,
|
||||
MIKE_DEUT,
|
||||
MIKE_COOLER,
|
||||
FLEIIJA_IGNITER,
|
||||
FLEIJA_CORE,
|
||||
FLEIJA_PROPELLANT;
|
||||
|
||||
//private final int value;
|
||||
//private EnumAssemblyTemplate(int value) {
|
||||
@ -411,6 +595,102 @@ public class ItemAssemblyTemplate extends Item {
|
||||
return 250;
|
||||
case MISSILE_BUSTER_2:
|
||||
return 250;
|
||||
case MISSILE_HE_3:
|
||||
return 350;
|
||||
case MISSILE_FIRE_3:
|
||||
return 350;
|
||||
case MISSILE_CLUSTER_3:
|
||||
return 350;
|
||||
case MISSILE_BUSTER_3:
|
||||
return 350;
|
||||
case MISSILE_NUCLEAR:
|
||||
return 500;
|
||||
case MISSILE_MIRV:
|
||||
return 600;
|
||||
case MISSILE_ENDO:
|
||||
return 350;
|
||||
case MISSILE_EXO:
|
||||
return 350;
|
||||
case DEFAB:
|
||||
return 200;
|
||||
case LASER_BUCKSHOT:
|
||||
return 50;
|
||||
case ROCKET:
|
||||
return 30;
|
||||
case MINI_NUKE:
|
||||
return 40;
|
||||
case MINI_MIRV:
|
||||
return 100;
|
||||
case DARK_PLUG:
|
||||
return 50;
|
||||
case COMBINE_BALL:
|
||||
return 200;
|
||||
case GREANADE_ENHANCED:
|
||||
return 150;
|
||||
case GRENADE_FLAME:
|
||||
return 150;
|
||||
case GRENADE_SHRAPNEL:
|
||||
return 150;
|
||||
case GRENAGE_CLUSTER:
|
||||
return 200;
|
||||
case GREANADE_FLARE:
|
||||
return 100;
|
||||
case GRENADE_LIGHTNING:
|
||||
return 200;
|
||||
case GRENADE_IMPULSE:
|
||||
return 300;
|
||||
case GRENADE_PLASMA:
|
||||
return 300;
|
||||
case GRENADE_TAU:
|
||||
return 300;
|
||||
case GRENADE_SCHRABIDIUM:
|
||||
return 300;
|
||||
case GRENADE_MK2:
|
||||
return 150;
|
||||
case GRENADE_ASCHRAB:
|
||||
return 300;
|
||||
case GRENADE_NUKE:
|
||||
return 200;
|
||||
case GRENADE_ZOMG:
|
||||
return 300;
|
||||
case GRENADE_BLACK_HOLE:
|
||||
return 500;
|
||||
case POWER_FIST:
|
||||
return 600;
|
||||
case GADGET_PROPELLANT:
|
||||
return 200;
|
||||
case GADGET_WIRING:
|
||||
return 100;
|
||||
case GADGET_CORE:
|
||||
return 200;
|
||||
case BOY_SHIELDING:
|
||||
return 150;
|
||||
case BOY_TARGET:
|
||||
return 200;
|
||||
case BOY_BULLET:
|
||||
return 100;
|
||||
case BOY_PRPELLANT:
|
||||
return 100;
|
||||
case BOY_IGNITER:
|
||||
return 150;
|
||||
case MAN_PROPELLANT:
|
||||
return 200;
|
||||
case MAN_IGNITER:
|
||||
return 150;
|
||||
case MAN_CORE:
|
||||
return 250;
|
||||
case MIKE_TANK:
|
||||
return 300;
|
||||
case MIKE_DEUT:
|
||||
return 200;
|
||||
case MIKE_COOLER:
|
||||
return 200;
|
||||
case FLEIIJA_IGNITER:
|
||||
return 300;
|
||||
case FLEIJA_CORE:
|
||||
return 500;
|
||||
case FLEIJA_PROPELLANT:
|
||||
return 400;
|
||||
default:
|
||||
return 100;
|
||||
}
|
||||
|
||||
@ -22,11 +22,51 @@ public class ItemChemistryTemplate extends Item {
|
||||
//FR - Fuel Reprocessing
|
||||
//FC - Fuel Cracking
|
||||
//CC - Coal Cracking
|
||||
//SF - Solid Fuel Production
|
||||
//BP - Biofuel Production
|
||||
|
||||
TEST, FP_HEAVYOIL, FP_SMEAR, FP_NAPHTHA, FP_LIGHTOIL, FR_REOIL, FR_PETROIL,
|
||||
FC_I_NAPHTHA, FC_GAS_PETROLEUM, FC_DIESEL_KEROSENE, FC_KEROSENE_PETROLEUM, CC_OIL,
|
||||
CC_I, CC_HEATING, CC_HEAVY, CC_NAPHTHA, ASPHALT, COOLANT, DESH, PEROXIDE, CIRCUIT_4,
|
||||
CIRCUIT_5;
|
||||
TEST,
|
||||
FP_HEAVYOIL,
|
||||
FP_SMEAR,
|
||||
FP_NAPHTHA,
|
||||
FP_LIGHTOIL,
|
||||
FR_REOIL,
|
||||
FR_PETROIL,
|
||||
FC_I_NAPHTHA,
|
||||
FC_GAS_PETROLEUM,
|
||||
FC_DIESEL_KEROSENE,
|
||||
FC_KEROSENE_PETROLEUM,
|
||||
CC_OIL,
|
||||
CC_I,
|
||||
CC_HEATING,
|
||||
CC_HEAVY,
|
||||
CC_NAPHTHA,
|
||||
SF_OIL,
|
||||
SF_HEAVYOIL,
|
||||
SF_SMEAR,
|
||||
SF_HEATINGOIL,
|
||||
SF_RECLAIMED,
|
||||
SF_PETROIL,
|
||||
SF_LUBRICANT,
|
||||
SF_NAPHTHA,
|
||||
SF_DIESEL,
|
||||
SF_LIGHTOIL,
|
||||
SF_KEROSENE,
|
||||
SF_GAS,
|
||||
SF_PETROLEUM,
|
||||
BP_BIOGAS,
|
||||
BP_BIOFUEL,
|
||||
ASPHALT,
|
||||
COOLANT,
|
||||
DESH,
|
||||
PEROXIDE,
|
||||
CIRCUIT_4,
|
||||
CIRCUIT_5,
|
||||
POLYMER,
|
||||
DEUTERIUM,
|
||||
STEAM,
|
||||
UF6,
|
||||
PUF6;
|
||||
|
||||
public static EnumChemistryTemplate getEnum(int i) {
|
||||
if(i < EnumChemistryTemplate.values().length)
|
||||
@ -122,6 +162,42 @@ public class ItemChemistryTemplate extends Item {
|
||||
return 200;
|
||||
case CIRCUIT_5:
|
||||
return 250;
|
||||
case SF_OIL:
|
||||
return 20;
|
||||
case SF_HEAVYOIL:
|
||||
return 20;
|
||||
case SF_SMEAR:
|
||||
return 20;
|
||||
case SF_HEATINGOIL:
|
||||
return 20;
|
||||
case SF_RECLAIMED:
|
||||
return 20;
|
||||
case SF_PETROIL:
|
||||
return 20;
|
||||
case SF_LUBRICANT:
|
||||
return 20;
|
||||
case SF_NAPHTHA:
|
||||
return 20;
|
||||
case SF_DIESEL:
|
||||
return 20;
|
||||
case SF_LIGHTOIL:
|
||||
return 20;
|
||||
case SF_KEROSENE:
|
||||
return 20;
|
||||
case SF_GAS:
|
||||
return 20;
|
||||
case SF_PETROLEUM:
|
||||
return 20;
|
||||
case POLYMER:
|
||||
return 100;
|
||||
case DEUTERIUM:
|
||||
return 200;
|
||||
case STEAM:
|
||||
return 20;
|
||||
case BP_BIOGAS:
|
||||
return 200;
|
||||
case BP_BIOFUEL:
|
||||
return 300;
|
||||
default:
|
||||
return 100;
|
||||
}
|
||||
|
||||
136
com/hbm/items/tool/ItemGeigerCounter.java
Normal file
@ -0,0 +1,136 @@
|
||||
package com.hbm.items.tool;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.world.World;
|
||||
import scala.Int;
|
||||
|
||||
public class ItemGeigerCounter extends Item {
|
||||
|
||||
Random rand = new Random();
|
||||
|
||||
@Override
|
||||
public void onUpdate(ItemStack stack, World world, Entity entity, int i, boolean bool) {
|
||||
|
||||
setInt(stack, getInt(stack, "timer") + 1, "timer");
|
||||
if(getInt(stack, "timer") == 10) {
|
||||
setInt(stack, 0, "timer");
|
||||
setInt(stack, check(world, (int)entity.posX, (int)entity.posY, (int)entity.posZ, 15), "ticker");
|
||||
}
|
||||
|
||||
int x = getInt(stack, "ticker");
|
||||
|
||||
if(getInt(stack, "timer") % 5 == 0) {
|
||||
if(x > 0) {
|
||||
List<Integer> list = new ArrayList<Integer>();
|
||||
|
||||
if(x < 30)
|
||||
list.add(1);
|
||||
if(x > 10 && x < 40)
|
||||
list.add(2);
|
||||
if(x > 30 && x < 60)
|
||||
list.add(3);
|
||||
if(x > 50 && x < 80)
|
||||
list.add(4);
|
||||
if(x > 70 && x < 100)
|
||||
list.add(5);
|
||||
if(x > 90)
|
||||
list.add(6);
|
||||
|
||||
world.playSoundAtEntity(entity, "hbm:item.geiger" + list.get(rand.nextInt(list.size())), 1.0F, 1.0F);
|
||||
} else if(rand.nextInt(50) == 0) {
|
||||
world.playSoundAtEntity(entity, "hbm:item.geiger"+ (1 + rand.nextInt(1)), 1.0F, 1.0F);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void setInt(ItemStack stack, int i, String name) {
|
||||
if(!stack.hasTagCompound())
|
||||
stack.stackTagCompound = new NBTTagCompound();
|
||||
|
||||
stack.stackTagCompound.setInteger(name, i);
|
||||
}
|
||||
|
||||
static int getInt(ItemStack stack, String name) {
|
||||
if(stack.hasTagCompound())
|
||||
return stack.stackTagCompound.getInteger(name);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static int check(World world, int x, int y, int z, int radius) {
|
||||
int rads = 0;
|
||||
int r = radius;
|
||||
int r2 = r * r;
|
||||
int r22 = r2 / 2;
|
||||
for (int xx = -r; xx < r; xx++) {
|
||||
int X = xx + x;
|
||||
int XX = xx * xx;
|
||||
for (int yy = -r; yy < r; yy++) {
|
||||
int Y = yy + y;
|
||||
int YY = XX + yy * yy;
|
||||
for (int zz = -r; zz < r; zz++) {
|
||||
int Z = zz + z;
|
||||
int ZZ = YY + zz * zz;
|
||||
if(ZZ < r22 / 3) {
|
||||
rads += getRad(world.getBlock(X, Y, Z), 3);
|
||||
} else if(ZZ < r22 / 3 * 2) {
|
||||
rads += getRad(world.getBlock(X, Y, Z), 2);
|
||||
} else if(ZZ < r22) {
|
||||
rads += getRad(world.getBlock(X, Y, Z), 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return rads;
|
||||
}
|
||||
|
||||
//level 1: farthest, 3: nearest
|
||||
public static int getRad(Block b, int level) {
|
||||
int i = 0;
|
||||
|
||||
if(b == ModBlocks.waste_trinitite) {
|
||||
i = 3;
|
||||
}
|
||||
if(b == ModBlocks.waste_trinitite_red) {
|
||||
i = 3;
|
||||
}
|
||||
if(b == ModBlocks.ore_uranium) {
|
||||
i = 2;
|
||||
}
|
||||
if(b == ModBlocks.ore_nether_plutonium) {
|
||||
i = 15;
|
||||
}
|
||||
if(b == ModBlocks.block_trinitite) {
|
||||
i = 20;
|
||||
}
|
||||
if(b == ModBlocks.block_waste) {
|
||||
i = 25;
|
||||
}
|
||||
if(b == ModBlocks.waste_earth) {
|
||||
i = 2;
|
||||
}
|
||||
if(b == ModBlocks.waste_mycelium) {
|
||||
i = 7;
|
||||
}
|
||||
if(b == ModBlocks.block_uranium) {
|
||||
i = 10;
|
||||
}
|
||||
if(b == ModBlocks.yellow_barrel) {
|
||||
i = 30;
|
||||
}
|
||||
|
||||
return i * level;
|
||||
}
|
||||
|
||||
}
|
||||
@ -35,6 +35,7 @@ import com.hbm.entity.grenade.EntityGrenadeStrong;
|
||||
import com.hbm.entity.grenade.EntityGrenadeTau;
|
||||
import com.hbm.entity.grenade.EntityGrenadeZOMG;
|
||||
import com.hbm.entity.item.EntityMinecartTest;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionAdvanced;
|
||||
import com.hbm.entity.missile.EntityBombletSelena;
|
||||
import com.hbm.entity.missile.EntityBombletTheta;
|
||||
import com.hbm.entity.missile.EntityMIRV;
|
||||
@ -435,6 +436,8 @@ public class ClientProxy extends ServerProxy
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMinerBeam.class, new RenderBeam3());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntitySparkBeam.class, new RenderBeam4());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityLN2.class, new RenderLN2(ModItems.energy_ball));
|
||||
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityNukeExplosionAdvanced.class, new RenderSnowball(ModItems.energy_ball));
|
||||
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMinecartTest.class, new RenderMinecartTest());
|
||||
|
||||
|
||||
@ -349,6 +349,20 @@ public class CraftingManager {
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 8), new Object[] { ModItems.rod_dual_schrabidium_fuel_depleted });
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 16), 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 });
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.rotten_flesh, Items.rotten_flesh, Items.rotten_flesh, Items.rotten_flesh, Items.rotten_flesh, Items.rotten_flesh, Items.rotten_flesh });
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.carrot, Items.carrot, Items.carrot, Items.carrot, Items.carrot, Items.carrot, Items.carrot, Items.carrot, Items.carrot });
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.potato, Items.potato, Items.potato, Items.potato, Items.potato, Items.potato, Items.potato, Items.potato, Items.potato });
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.poisonous_potato, Items.poisonous_potato, Items.poisonous_potato, Items.poisonous_potato, Items.poisonous_potato, Items.poisonous_potato, Items.poisonous_potato, Items.poisonous_potato, Items.poisonous_potato });
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.potato, Items.potato, Items.potato, Items.potato, Items.potato, Items.potato, Items.potato, Items.potato, Items.potato });
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { "treeSapling", "treeSapling", "treeSapling", "treeSapling", "treeSapling", "treeSapling", "treeSapling" }));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { "treeLeaves", "treeLeaves", "treeLeaves", "treeLeaves", "treeLeaves" }));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 8), new Object[] { Blocks.pumpkin, Blocks.pumpkin, Blocks.pumpkin, Blocks.pumpkin, Blocks.pumpkin, Blocks.pumpkin });
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.biomass, 6), new Object[] { "logWood", "logWood", "logWood" }));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { "plankWood", "plankWood", "plankWood", "plankWood", "plankWood", "plankWood", "plankWood", "plankWood", "plankWood" }));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 8), new Object[] { Blocks.hay_block, Blocks.hay_block });
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.part_lithium), new Object[] { "P", "D", "P", 'P', "plateSteel", 'D', "dustLithium" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.part_beryllium), new Object[] { "P", "D", "P", 'P', "plateSteel", 'D', "dustBeryllium" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.part_carbon), new Object[] { "P", "D", "P", 'P', "plateSteel", 'D', "dustCoal" }));
|
||||
|
||||
@ -5,6 +5,7 @@ import java.util.List;
|
||||
|
||||
import com.hbm.entity.mob.EntityNuclearCreeper;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.lib.ModDamageSource;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
@ -85,9 +86,11 @@ public class TileEntityYellowBarrel extends TileEntity {
|
||||
this.worldObj.spawnEntityInWorld(creep);
|
||||
} else if(entity instanceof EntityLivingBase && !(entity instanceof EntityNuclearCreeper) && !(entity instanceof EntityMooshroom) && !(entity instanceof EntityZombie))
|
||||
{
|
||||
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.poison.getId(), 2 * 60 * 20, 2));
|
||||
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.wither.getId(), 20, 4));
|
||||
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.moveSlowdown.getId(), 1 * 60 * 20, 1));
|
||||
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.poison.getId(), 60 * 20, 1));
|
||||
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.wither.getId(), 20, 0));
|
||||
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.moveSlowdown.getId(), 30 * 20, 1));
|
||||
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.confusion.id, 30 * 20, 0));
|
||||
entity.attackEntityFrom(ModDamageSource.radiation, 2.5F);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -232,12 +232,7 @@ public class TileEntityMachineDiesel extends TileEntity implements ISidedInvento
|
||||
}
|
||||
|
||||
public boolean hasAcceptableFuel() {
|
||||
FluidType type = tank.getTankType();
|
||||
if(type.name().equals(FluidType.DIESEL.name()))
|
||||
return true;
|
||||
if(type.name().equals(FluidType.PETROIL.name()))
|
||||
return true;
|
||||
return false;
|
||||
return getHEFromFuel() > 0;
|
||||
}
|
||||
|
||||
public int getHEFromFuel() {
|
||||
@ -246,6 +241,8 @@ public class TileEntityMachineDiesel extends TileEntity implements ISidedInvento
|
||||
return 250;
|
||||
if(type.name().equals(FluidType.PETROIL.name()))
|
||||
return 150;
|
||||
if(type.name().equals(FluidType.BIOFUEL.name()))
|
||||
return 200;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@ -10,9 +10,12 @@ import com.hbm.blocks.machine.MachineGenerator;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionAdvanced;
|
||||
import com.hbm.entity.mob.EntityNuclearCreeper;
|
||||
import com.hbm.explosion.ExplosionParticle;
|
||||
import com.hbm.handler.FluidTypeHandler.FluidType;
|
||||
import com.hbm.interfaces.IConsumer;
|
||||
import com.hbm.interfaces.IFluidContainer;
|
||||
import com.hbm.interfaces.IReactor;
|
||||
import com.hbm.interfaces.ISource;
|
||||
import com.hbm.inventory.FluidTank;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.special.ItemFuelRod;
|
||||
import com.hbm.lib.Library;
|
||||
@ -35,12 +38,8 @@ import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class TileEntityReactorMultiblock extends TileEntity implements ISidedInventory, IReactor, ISource {
|
||||
public class TileEntityReactorMultiblock extends TileEntity implements ISidedInventory, ISource, IFluidContainer {
|
||||
|
||||
public int water;
|
||||
public final static int waterMax = 10000000;
|
||||
public int cool;
|
||||
public final static int coolMax = 10000000;
|
||||
public int heat;
|
||||
public final static int heatMax = 1000000;
|
||||
public int power;
|
||||
@ -48,13 +47,17 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv
|
||||
private ItemStack slots[];
|
||||
public int age = 0;
|
||||
public List<IConsumer> list = new ArrayList();
|
||||
public FluidTank[] tanks;
|
||||
|
||||
public boolean isLoaded = false;
|
||||
|
||||
private String customName;
|
||||
|
||||
public TileEntityReactorMultiblock() {
|
||||
slots = new ItemStack[34];
|
||||
slots = new ItemStack[36];
|
||||
tanks = new FluidTank[2];
|
||||
tanks[0] = new FluidTank(FluidType.WATER, 128000, 0);
|
||||
tanks[1] = new FluidTank(FluidType.COOLANT, 64000, 1);
|
||||
}
|
||||
@Override
|
||||
public int getSizeInventory() {
|
||||
@ -169,8 +172,8 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv
|
||||
super.readFromNBT(nbt);
|
||||
NBTTagList list = nbt.getTagList("items", 10);
|
||||
|
||||
water = nbt.getInteger("water");
|
||||
cool = nbt.getInteger("cool");
|
||||
tanks[0].readFromNBT(nbt, "water");
|
||||
tanks[1].readFromNBT(nbt, "coolant");
|
||||
power = nbt.getInteger("power");
|
||||
heat = nbt.getInteger("heat");
|
||||
|
||||
@ -190,8 +193,8 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound nbt) {
|
||||
super.writeToNBT(nbt);
|
||||
nbt.setInteger("water", water);
|
||||
nbt.setInteger("cool", cool);
|
||||
tanks[0].writeToNBT(nbt, "water");
|
||||
tanks[1].writeToNBT(nbt, "coolant");
|
||||
nbt.setInteger("power", power);
|
||||
nbt.setInteger("heat", heat);
|
||||
NBTTagList list = new NBTTagList();
|
||||
@ -222,83 +225,13 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv
|
||||
if(age == 9 || age == 19)
|
||||
ffgeuaInit();
|
||||
|
||||
//if(!worldObj.isRemote)
|
||||
if(!worldObj.isRemote)
|
||||
{
|
||||
if(slots[30] != null && slots[30].getItem() == Items.water_bucket && this.water + 250000 <= waterMax)
|
||||
{
|
||||
this.slots[30].stackSize--;
|
||||
this.water += 250000;
|
||||
if(this.slots[30].stackSize == 0)
|
||||
{
|
||||
this.slots[30] = this.slots[30].getItem().getContainerItem(this.slots[30]);
|
||||
}
|
||||
}
|
||||
if(slots[30] != null && slots[30].getItem() == ModItems.rod_water && this.water + 250000 <= waterMax)
|
||||
{
|
||||
this.slots[30].stackSize--;
|
||||
this.water += 250000;
|
||||
if(this.slots[30].stackSize == 0)
|
||||
{
|
||||
this.slots[30] = this.slots[30].getItem().getContainerItem(this.slots[30]);
|
||||
}
|
||||
}
|
||||
if(slots[30] != null && slots[30].getItem() == ModItems.rod_dual_water && this.water + 500000 <= waterMax)
|
||||
{
|
||||
this.slots[30].stackSize--;
|
||||
this.water += 500000;
|
||||
if(this.slots[30].stackSize == 0)
|
||||
{
|
||||
this.slots[30] = this.slots[30].getItem().getContainerItem(this.slots[30]);
|
||||
}
|
||||
}
|
||||
if(slots[30] != null && slots[30].getItem() == ModItems.rod_quad_water && this.water + 1000000 <= waterMax)
|
||||
{
|
||||
this.slots[30].stackSize--;
|
||||
this.water += 1000000;
|
||||
if(this.slots[30].stackSize == 0)
|
||||
{
|
||||
this.slots[30] = this.slots[30].getItem().getContainerItem(this.slots[30]);
|
||||
}
|
||||
}
|
||||
if(slots[30] != null && slots[30].getItem() == ModItems.inf_water)
|
||||
{
|
||||
this.water = waterMax;
|
||||
}
|
||||
tanks[0].loadTank(30, 31, slots);
|
||||
tanks[1].loadTank(32, 33, slots);
|
||||
|
||||
if(slots[31] != null && slots[31].getItem() == ModItems.rod_coolant && this.cool + 250000 <= coolMax)
|
||||
{
|
||||
this.slots[31].stackSize--;
|
||||
this.cool += 250000;
|
||||
if(this.slots[31].stackSize == 0)
|
||||
{
|
||||
this.slots[31] = this.slots[31].getItem().getContainerItem(this.slots[31]);
|
||||
}
|
||||
}
|
||||
|
||||
if(slots[31] != null && slots[31].getItem() == ModItems.rod_dual_coolant && this.cool + 500000 <= coolMax)
|
||||
{
|
||||
this.slots[31].stackSize--;
|
||||
this.cool += 500000;
|
||||
if(this.slots[31].stackSize == 0)
|
||||
{
|
||||
this.slots[31] = this.slots[31].getItem().getContainerItem(this.slots[31]);
|
||||
}
|
||||
}
|
||||
|
||||
if(slots[31] != null && slots[31].getItem() == ModItems.rod_quad_coolant && this.cool + 1000000 <= coolMax)
|
||||
{
|
||||
this.slots[31].stackSize--;
|
||||
this.cool += 1000000;
|
||||
if(this.slots[31].stackSize == 0)
|
||||
{
|
||||
this.slots[31] = this.slots[31].getItem().getContainerItem(this.slots[31]);
|
||||
}
|
||||
}
|
||||
|
||||
if(slots[31] != null && slots[31].getItem() == ModItems.inf_coolant)
|
||||
{
|
||||
this.cool = coolMax;
|
||||
}
|
||||
for(int i = 0; i < 2; i++)
|
||||
tanks[i].updateTank(xCoord, yCoord, zCoord);
|
||||
|
||||
|
||||
if(hasFuse())
|
||||
@ -493,19 +426,19 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv
|
||||
((slots[28] != null && !(slots[28].getItem() instanceof ItemFuelRod)) || slots[28] == null) &&
|
||||
((slots[29] != null && !(slots[29].getItem() instanceof ItemFuelRod)) || slots[29] == null))
|
||||
{
|
||||
if(this.heat - 10 >= 0 && this.cool - 10 >= 0)
|
||||
if(this.heat - 10 >= 0 && tanks[1].getFill() - 2 >= 0)
|
||||
{
|
||||
this.heat -= 10;
|
||||
this.cool -= 2;
|
||||
this.tanks[1].setFill(tanks[1].getFill() - 2);
|
||||
}
|
||||
|
||||
if(this.heat < 10 && this.cool != 0)
|
||||
if(this.heat < 10 && heat != 0 && this.tanks[1].getFill() != 0)
|
||||
{
|
||||
this.heat--;
|
||||
this.cool--;
|
||||
this.tanks[1].setFill(tanks[1].getFill() - 1);
|
||||
}
|
||||
|
||||
if(this.heat != 0 && this.cool == 0)
|
||||
if(this.heat != 0 && this.tanks[1].getFill() == 0)
|
||||
{
|
||||
this.heat--;
|
||||
}
|
||||
@ -589,7 +522,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isStructureValid(World world) {
|
||||
if(world.getBlock(this.xCoord, this.yCoord, this.zCoord) == ModBlocks.reactor_computer &&
|
||||
world.getBlock(this.xCoord, this.yCoord + 1, this.zCoord) == ModBlocks.reactor_conductor &&
|
||||
@ -628,7 +560,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCoatingValid(World world) {
|
||||
if(world.getBlock(this.xCoord - 1, this.yCoord + 2, this.zCoord - 1)== ModBlocks.brick_concrete &&
|
||||
world.getBlock(this.xCoord + 1, this.yCoord + 2, this.zCoord + 1)== ModBlocks.brick_concrete &&
|
||||
@ -689,47 +620,34 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getWaterScaled(int i) {
|
||||
return (water * i) / waterMax;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCoolantScaled(int i) {
|
||||
return (cool * i) / coolMax;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPowerScaled(int i) {
|
||||
return (power * i) / maxPower;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getHeatScaled(int i) {
|
||||
return (heat * i) / heatMax;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasFuse() {
|
||||
return slots[33] != null && (slots[33].getItem() == ModItems.fuse || slots[33].getItem() == ModItems.screwdriver);
|
||||
}
|
||||
|
||||
|
||||
public void attemptPower(int i) {
|
||||
if(this.water - i >= 0)
|
||||
if(this.tanks[0].getFill() - i >= 0)
|
||||
{
|
||||
this.power += i;
|
||||
this.water -= i;
|
||||
this.tanks[0].setFill(tanks[0].getFill() - i);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void attemptHeat(int i) {
|
||||
Random rand = new Random();
|
||||
|
||||
int j = rand.nextInt(i);
|
||||
int j = rand.nextInt(i + 1);
|
||||
|
||||
if(this.cool - j >= 0)
|
||||
if(this.tanks[1].getFill() - j >= 0)
|
||||
{
|
||||
this.cool -= j;
|
||||
this.tanks[1].setFill(tanks[1].getFill() - j);
|
||||
} else {
|
||||
this.heat += i;
|
||||
}
|
||||
@ -793,4 +711,16 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv
|
||||
public void clearList() {
|
||||
this.list.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFillstate(int fill, int index) {
|
||||
if(index < 2 && tanks[index] != null)
|
||||
tanks[index].setFill(fill);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setType(FluidType type, int index) {
|
||||
if(index < 2 && tanks[index] != null)
|
||||
tanks[index].setTankType(type);
|
||||
}
|
||||
}
|
||||
|
||||