mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
AMS recipe, energy generation, radiation damage
This commit is contained in:
parent
69fc66b36a
commit
37e5eecef7
@ -451,6 +451,7 @@ item.powder_spark_mix.name=Sparkmischung
|
||||
item.ingot_dineutronium.name=Dineutroniumbarren
|
||||
item.powder_dineutronium.name=Dineutroniumstaub
|
||||
item.nugget_dineutronium.name=Dineutroniumnugget
|
||||
item.ingot_starmetal.name=Sternenmetallbarren
|
||||
|
||||
item.solid_fuel.name=Festbrennstoff
|
||||
|
||||
@ -1114,6 +1115,7 @@ item.nugget_euphemium.name=Euphemiumnugget
|
||||
item.rod_quad_euphemium.name=Ausgebrannter Schrabidiumvierfachbrennstab
|
||||
item.plate_euphemium.name=Euphemium-Verbundplatte
|
||||
item.plate_dineutronium.name=Dineutronium-Verbundplatte
|
||||
item.plate_desh.name=Desh-Verbundplatte
|
||||
|
||||
item.euphemium_helmet.name=Euphemiumstiefel
|
||||
item.euphemium_plate.name=Euphemiumbrustplatte
|
||||
|
||||
@ -451,6 +451,7 @@ item.powder_spark_mix.name=Spark Blend
|
||||
item.ingot_dineutronium.name=Dineutronium Ingot
|
||||
item.powder_dineutronium.name=Dineutronium Powder
|
||||
item.nugget_dineutronium.name=Dineutronium Nugget
|
||||
item.ingot_starmetal.name=Starmetal Ingot
|
||||
|
||||
item.solid_fuel.name=Solid Fuel
|
||||
|
||||
@ -1117,6 +1118,7 @@ item.nugget_euphemium.name=Euphemium Nugget
|
||||
item.rod_quad_euphemium.name=Burned Out Quad Schrabidium Fuel Rod
|
||||
item.plate_euphemium.name=Euphemium Compound Plate
|
||||
item.plate_dineutronium.name=Dineutronium Compound Plate
|
||||
item.plate_desh.name=Desh Compound Plate
|
||||
|
||||
item.euphemium_helmet.name=Euphemium Helemt
|
||||
item.euphemium_plate.name=Euphemium Chestplate
|
||||
|
||||
BIN
assets/hbm/textures/items/ingot_starmetal.png
Normal file
BIN
assets/hbm/textures/items/ingot_starmetal.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 339 B |
BIN
assets/hbm/textures/items/plate_desh.png
Normal file
BIN
assets/hbm/textures/items/plate_desh.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 291 B |
@ -6,6 +6,7 @@ import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.entity.effect.EntityCloudFleija;
|
||||
import com.hbm.entity.effect.EntityCloudFleijaRainbow;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionAdvanced;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK3;
|
||||
import com.hbm.interfaces.IBomb;
|
||||
@ -154,7 +155,7 @@ public class NukeFleija extends BlockContainer implements IBomb {
|
||||
|
||||
world.spawnEntityInWorld(entity);
|
||||
|
||||
EntityCloudFleija cloud = new EntityCloudFleija(world, r);
|
||||
EntityCloudFleijaRainbow cloud = new EntityCloudFleijaRainbow(world, r);
|
||||
cloud.posX = x;
|
||||
cloud.posY = y;
|
||||
cloud.posZ = z;
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.hbm.blocks.test;
|
||||
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK4;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.tileentity.bomb.TileEntityTestBombAdvanced;
|
||||
|
||||
@ -107,7 +108,7 @@ public class TestBombAdvanced extends BlockContainer {
|
||||
|
||||
public void explode(World world, int x, int y, int z, int bombStartStrength, int bombStrengthA)
|
||||
{
|
||||
int r = bombStartStrength; //radius of explosion (change this to bigger numbers for more epicness)
|
||||
/*int r = bombStartStrength; //radius of explosion (change this to bigger numbers for more epicness)
|
||||
int r2 = r*r; //radius^2, for faster distance checks. (No sqrt needed for pythagoras)
|
||||
int r22 = r2/2; //half of r^2, calculations outside the loop only get called once. Always pull out as many things from the loop as possible.
|
||||
for (int xx = -r; xx < r; xx++)
|
||||
@ -129,6 +130,14 @@ public class TestBombAdvanced extends BlockContainer {
|
||||
} //you can change the if statement to if (ZZ<r2) for a smoother explosion crater.
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
world.setBlock(x, y, z, Blocks.air);
|
||||
EntityNukeExplosionMK4 mk4 = new EntityNukeExplosionMK4(world);
|
||||
mk4.strength = 40;
|
||||
mk4.count = 100000;
|
||||
mk4.speed = 50;
|
||||
mk4.setPosition(x + 0.5, y + 0.5, z + 0.5);
|
||||
world.spawnEntityInWorld(mk4);
|
||||
}
|
||||
}
|
||||
|
||||
@ -9,6 +9,8 @@ import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.entity.effect.EntityBlackHole;
|
||||
import com.hbm.entity.effect.EntityCloudFleija;
|
||||
import com.hbm.entity.effect.EntityCloudFleijaRainbow;
|
||||
import com.hbm.entity.projectile.EntityMeteor;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.main.ModEventHandler;
|
||||
@ -160,9 +162,17 @@ public class TestEventTester extends Block {
|
||||
}*/
|
||||
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
/*if(!worldObj.isRemote) {
|
||||
ModEventHandler.meteorShower = 6000;
|
||||
}
|
||||
}*/
|
||||
|
||||
EntityCloudFleija rainbow = new EntityCloudFleija(worldObj);
|
||||
rainbow.posX = x1;
|
||||
rainbow.posY = y1;
|
||||
rainbow.posZ = z1;
|
||||
rainbow.maxAge = 100;
|
||||
if(!worldObj.isRemote)
|
||||
worldObj.spawnEntityInWorld(rainbow);
|
||||
|
||||
|
||||
|
||||
|
||||
@ -51,6 +51,11 @@ public class EntityBlackHole extends Entity {
|
||||
int z0 = (int)(this.posZ + (vec.zCoord * i));
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
|
||||
if(worldObj.getBlock(x0, y0, z0).getMaterial().isLiquid()) {
|
||||
worldObj.setBlock(x0, y0, z0, Blocks.air);
|
||||
}
|
||||
|
||||
if(worldObj.getBlock(x0, y0, z0) != Blocks.air) {
|
||||
EntityRubble rubble = new EntityRubble(worldObj);
|
||||
rubble.posX = x0 + 0.5F;
|
||||
|
||||
84
com/hbm/entity/effect/EntityCloudFleijaRainbow.java
Normal file
84
com/hbm/entity/effect/EntityCloudFleijaRainbow.java
Normal file
@ -0,0 +1,84 @@
|
||||
package com.hbm.entity.effect;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.effect.EntityLightningBolt;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityCloudFleijaRainbow extends Entity {
|
||||
|
||||
public int maxAge = 100;
|
||||
public int age;
|
||||
public float scale = 0;
|
||||
|
||||
public EntityCloudFleijaRainbow(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
this.setSize(1, 4);
|
||||
this.ignoreFrustumCheck = true;
|
||||
this.isImmuneToFire = true;
|
||||
this.age = 0;
|
||||
scale = 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void entityInit() {
|
||||
this.dataWatcher.addObject(16, Integer.valueOf(0));
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public int getBrightnessForRender(float p_70070_1_)
|
||||
{
|
||||
return 15728880;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getBrightness(float p_70013_1_)
|
||||
{
|
||||
return 1.0F;
|
||||
}
|
||||
|
||||
public EntityCloudFleijaRainbow(World p_i1582_1_, int maxAge) {
|
||||
super(p_i1582_1_);
|
||||
this.setSize(20, 40);
|
||||
this.isImmuneToFire = true;
|
||||
this.setMaxAge(maxAge);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate() {
|
||||
this.age++;
|
||||
this.worldObj.spawnEntityInWorld(new EntityLightningBolt(this.worldObj, this.posX, this.posY + 200, this.posZ));
|
||||
|
||||
if(this.age >= this.getMaxAge())
|
||||
{
|
||||
this.age = 0;
|
||||
this.setDead();
|
||||
}
|
||||
|
||||
this.scale++;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void readEntityFromNBT(NBTTagCompound p_70037_1_) {
|
||||
age = p_70037_1_.getShort("age");
|
||||
scale = p_70037_1_.getShort("scale");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void writeEntityToNBT(NBTTagCompound p_70014_1_) {
|
||||
p_70014_1_.setShort("age", (short)age);
|
||||
p_70014_1_.setShort("scale", (short)scale);
|
||||
|
||||
}
|
||||
|
||||
public void setMaxAge(int i) {
|
||||
this.dataWatcher.updateObject(16, Integer.valueOf(i));
|
||||
}
|
||||
|
||||
public int getMaxAge() {
|
||||
return this.dataWatcher.getWatchableObjectInt(16);
|
||||
}
|
||||
}
|
||||
54
com/hbm/entity/logic/EntityNukeExplosionMK4.java
Normal file
54
com/hbm/entity/logic/EntityNukeExplosionMK4.java
Normal file
@ -0,0 +1,54 @@
|
||||
package com.hbm.entity.logic;
|
||||
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityNukeExplosionMK4 extends Entity {
|
||||
|
||||
//Strength of the blast
|
||||
public long strength;
|
||||
//How many rays should be created
|
||||
public long count;
|
||||
//How many rays are calculated per tick
|
||||
public int speed;
|
||||
//How many rays have already been processed
|
||||
public long done;
|
||||
|
||||
public EntityNukeExplosionMK4(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
}
|
||||
|
||||
public EntityNukeExplosionMK4(World world, long strength, long count, int speed) {
|
||||
super(world);
|
||||
this.strength = strength;
|
||||
this.count = count;
|
||||
this.speed = speed;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate() {
|
||||
ExplosionLarge.destructionRay(worldObj, posX, posY, posZ, speed, strength);
|
||||
done += speed;
|
||||
if(done >= count)
|
||||
this.setDead();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void entityInit() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void readEntityFromNBT(NBTTagCompound p_70037_1_) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void writeEntityToNBT(NBTTagCompound p_70014_1_) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -11,6 +11,7 @@ import com.hbm.entity.projectile.EntityShrapnel;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraft.world.World;
|
||||
@ -19,6 +20,45 @@ public class ExplosionLarge {
|
||||
|
||||
static Random rand = new Random();
|
||||
|
||||
public static void destructionRay(World world, double posX, double posY, double posZ, int count, long strength) {
|
||||
|
||||
for(int k = 0; k < count; k++) {
|
||||
double phi = rand.nextDouble() * (Math.PI * 2);
|
||||
double costheta = rand.nextDouble() * 2 - 1;
|
||||
double theta = Math.acos(costheta);
|
||||
double x = Math.sin( theta) * Math.cos( phi );
|
||||
double y = Math.sin( theta) * Math.sin( phi );
|
||||
double z = Math.cos( theta );
|
||||
|
||||
Vec3 vec = Vec3.createVectorHelper(x, y, z);
|
||||
int length = (int)Math.ceil(strength);
|
||||
|
||||
float res = strength;
|
||||
|
||||
for(int i = 0; i < length; i ++) {
|
||||
|
||||
int x0 = (int)(posX + (vec.xCoord * i));
|
||||
int y0 = (int)(posY + (vec.yCoord * i));
|
||||
int z0 = (int)(posZ + (vec.zCoord * i));
|
||||
|
||||
if(!world.isRemote) {
|
||||
|
||||
if(world.getBlock(x0, y0, z0).getMaterial().isLiquid()) {
|
||||
world.setBlock(x0, y0, z0, Blocks.air);
|
||||
}
|
||||
|
||||
res -= Math.pow(world.getBlock(x0, y0, z0).getExplosionResistance(null), 2);
|
||||
|
||||
if(res > 0 && world.getBlock(x0, y0, z0) != Blocks.air) {
|
||||
|
||||
|
||||
world.setBlock(x0, y0, z0, Blocks.air);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void spawnParticles(World world, double x, double y, double z, int count) {
|
||||
|
||||
for(int i = 0; i < count; i++) {
|
||||
|
||||
@ -99,6 +99,11 @@ public class MachineRecipes {
|
||||
return new ItemStack(ModItems.ingot_dura_steel, 2);
|
||||
}
|
||||
|
||||
if (mODE(item, new String[] {"ingotSteel", "dustSteel"}) && item2 == ModItems.powder_meteorite
|
||||
|| item == ModItems.powder_meteorite && mODE(item2, new String[] {"ingotSteel", "dustSteel"})) {
|
||||
return new ItemStack(ModItems.ingot_starmetal, 2);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -768,6 +773,8 @@ public class MachineRecipes {
|
||||
getFurnaceOutput(ModItems.ingot_steel, ModItems.ingot_tungsten).copy());
|
||||
recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.powder_cobalt) },
|
||||
getFurnaceOutput(ModItems.ingot_steel, ModItems.powder_cobalt).copy());
|
||||
recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.powder_meteorite) },
|
||||
getFurnaceOutput(ModItems.ingot_steel, ModItems.powder_meteorite).copy());
|
||||
} catch (Exception x) {
|
||||
MainRegistry.logger.error("Unable to register alloy recipes for NEI!");
|
||||
}
|
||||
@ -2954,6 +2961,33 @@ public class MachineRecipes {
|
||||
list.add(new ItemStack(Blocks.tnt, 3));
|
||||
list.add(new ItemStack(ModItems.plate_schrabidium, 8));
|
||||
break;
|
||||
case COMPONENT_LIMITER:
|
||||
list.add(new ItemStack(ModItems.hull_big_steel, 2));
|
||||
list.add(new ItemStack(ModItems.plate_steel, 32));
|
||||
list.add(new ItemStack(ModItems.plate_titanium, 18));
|
||||
list.add(new ItemStack(ModItems.plate_desh, 12));
|
||||
list.add(new ItemStack(ModItems.pipes_steel, 4));
|
||||
list.add(new ItemStack(ModItems.circuit_gold, 8));
|
||||
list.add(new ItemStack(ModItems.circuit_schrabidium, 4));
|
||||
list.add(new ItemStack(ModItems.ingot_starmetal, 14));
|
||||
list.add(new ItemStack(ModItems.plate_dalekanium, 5));
|
||||
list.add(new ItemStack(ModItems.powder_magic, 16));
|
||||
list.add(new ItemStack(ModBlocks.fwatz_computer, 3));
|
||||
break;
|
||||
case COMPONENT_EMITTER:
|
||||
list.add(new ItemStack(ModItems.hull_big_steel, 3));
|
||||
list.add(new ItemStack(ModItems.hull_big_titanium, 2));
|
||||
list.add(new ItemStack(ModItems.plate_steel, 32));
|
||||
list.add(new ItemStack(ModItems.plate_lead, 24));
|
||||
list.add(new ItemStack(ModItems.plate_desh, 24));
|
||||
list.add(new ItemStack(ModItems.pipes_steel, 8));
|
||||
list.add(new ItemStack(ModItems.circuit_gold, 12));
|
||||
list.add(new ItemStack(ModItems.circuit_schrabidium, 8));
|
||||
list.add(new ItemStack(ModItems.ingot_starmetal, 26));
|
||||
list.add(new ItemStack(ModItems.powder_magic, 48));
|
||||
list.add(new ItemStack(ModBlocks.fwatz_computer, 2));
|
||||
list.add(new ItemStack(ModItems.crystal_xen, 1));
|
||||
break;
|
||||
default:
|
||||
list.add(new ItemStack(Items.stick));
|
||||
break;
|
||||
@ -3624,6 +3658,12 @@ public class MachineRecipes {
|
||||
case FLEIJA_PROPELLANT:
|
||||
output = new ItemStack(ModItems.fleija_propellant, 1);
|
||||
break;
|
||||
case COMPONENT_LIMITER:
|
||||
output = new ItemStack(ModItems.component_limiter, 1);
|
||||
break;
|
||||
case COMPONENT_EMITTER:
|
||||
output = new ItemStack(ModItems.component_emitter, 1);
|
||||
break;
|
||||
default:
|
||||
output = new ItemStack(Items.stick, 1);
|
||||
break;
|
||||
|
||||
@ -36,9 +36,9 @@ public class GUIAMSBase extends GuiInfoContainer {
|
||||
base.tanks[2].renderTankInfo(this, mouseX, mouseY, guiLeft + 26, guiTop + 124 - 52, 16, 52);
|
||||
base.tanks[3].renderTankInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 124 - 52, 16, 52);
|
||||
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 116, guiTop + 124 - 104, 7, 104, base.power, base.maxPower);
|
||||
this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 44, guiTop + 124 - 104, 7, 104, new String[] { "Restriction Field:", base.field + "%" });
|
||||
this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 53, guiTop + 124 - 104, 7, 104, new String[] { "Efficiency:", base.efficiency + "%" });
|
||||
this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 125, guiTop + 124 - 104, 7, 104, new String[] { "Heat:", base.heat + "/" + base.maxHeat });
|
||||
this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 44, guiTop + 124 - 106, 7, 106, new String[] { "Restriction Field:", base.field + "%" });
|
||||
this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 53, guiTop + 124 - 106, 7, 106, new String[] { "Efficiency:", base.efficiency + "%" });
|
||||
this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 125, guiTop + 124 - 106, 7, 106, new String[] { "Heat:", base.heat + "/" + base.maxHeat });
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -93,6 +93,7 @@ public class ModItems {
|
||||
public static Item ingot_dineutronium;
|
||||
public static Item nugget_dineutronium;
|
||||
public static Item powder_dineutronium;
|
||||
public static Item ingot_starmetal;
|
||||
|
||||
public static Item nugget_uranium;
|
||||
public static Item nugget_u235;
|
||||
@ -135,6 +136,7 @@ public class ModItems {
|
||||
public static Item bolt_compound;
|
||||
public static Item plate_polymer;
|
||||
public static Item plate_dineutronium;
|
||||
public static Item plate_desh;
|
||||
|
||||
public static Item ingot_dura_steel;
|
||||
public static Item ingot_polymer;
|
||||
@ -1220,6 +1222,7 @@ public class ModItems {
|
||||
bolt_compound = new Item().setUnlocalizedName("bolt_compound").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":bolt_compound");
|
||||
plate_polymer = new Item().setUnlocalizedName("plate_polymer").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_polymer");
|
||||
plate_dineutronium = new Item().setUnlocalizedName("plate_dineutronium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_dineutronium");
|
||||
plate_desh = new Item().setUnlocalizedName("plate_desh").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_desh");
|
||||
|
||||
ingot_dura_steel = new ItemCustomLore().setUnlocalizedName("ingot_dura_steel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_dura_steel");
|
||||
ingot_polymer = new ItemCustomLore().setUnlocalizedName("ingot_polymer").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_polymer");
|
||||
@ -1228,6 +1231,7 @@ public class ModItems {
|
||||
ingot_dineutronium = new ItemCustomLore().setUnlocalizedName("ingot_dineutronium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_dineutronium");
|
||||
nugget_dineutronium = new ItemCustomLore().setUnlocalizedName("nugget_dineutronium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_dineutronium");
|
||||
powder_dineutronium = new ItemCustomLore().setUnlocalizedName("powder_dineutronium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_dineutronium");
|
||||
ingot_starmetal = new ItemCustomLore().setUnlocalizedName("ingot_starmetal").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_starmetal");
|
||||
|
||||
ingot_lanthanium = new ItemCustomLore().setUnlocalizedName("ingot_lanthanium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_lanthanium");
|
||||
ingot_actinium = new ItemCustomLore().setUnlocalizedName("ingot_actinium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_actinium");
|
||||
@ -1462,21 +1466,21 @@ public class ModItems {
|
||||
rune_thurisaz = new ItemCustomLore().setUnlocalizedName("rune_thurisaz").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":rune_thurisaz");
|
||||
|
||||
ams_catalyst_blank = new Item().setUnlocalizedName("ams_catalyst_blank").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_blank");
|
||||
ams_catalyst_aluminium = new ItemCatalyst(0xCCCCCC, 1000000, 1.15F, 0.85F, 1.0F).setUnlocalizedName("ams_catalyst_aluminium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_aluminium");
|
||||
ams_catalyst_beryllium = new ItemCatalyst(0x97978B, 0, 1.25F, 0.95F, 1.0F).setUnlocalizedName("ams_catalyst_beryllium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_beryllium");
|
||||
ams_catalyst_caesium = new ItemCatalyst(0x6400FF, 2500000, 1.0F, 0.85F, 1.0F).setUnlocalizedName("ams_catalyst_caesium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_caesium");
|
||||
ams_catalyst_cerium = new ItemCatalyst(0x1D3FFF, 1000000, 1.15F, 1.15F, 1.0F).setUnlocalizedName("ams_catalyst_cerium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_cerium");
|
||||
ams_catalyst_cobalt = new ItemCatalyst(0x789BBE, 0, 1.25F, 1.05F, 1.0F).setUnlocalizedName("ams_catalyst_cobalt").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_cobalt");
|
||||
ams_catalyst_aluminium = new ItemCatalyst(0xCCCCCC, 1000000, 1.15F, 0.85F, 1.15F).setUnlocalizedName("ams_catalyst_aluminium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_aluminium");
|
||||
ams_catalyst_beryllium = new ItemCatalyst(0x97978B, 0, 1.25F, 0.95F, 1.05F).setUnlocalizedName("ams_catalyst_beryllium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_beryllium");
|
||||
ams_catalyst_caesium = new ItemCatalyst(0x6400FF, 2500000, 1.0F, 0.85F, 1.15F).setUnlocalizedName("ams_catalyst_caesium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_caesium");
|
||||
ams_catalyst_cerium = new ItemCatalyst(0x1D3FFF, 1000000, 1.15F, 1.15F, 0.85F).setUnlocalizedName("ams_catalyst_cerium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_cerium");
|
||||
ams_catalyst_cobalt = new ItemCatalyst(0x789BBE, 0, 1.25F, 1.05F, 0.95F).setUnlocalizedName("ams_catalyst_cobalt").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_cobalt");
|
||||
ams_catalyst_copper = new ItemCatalyst(0xAADE29, 0, 1.25F, 1.0F, 1.0F).setUnlocalizedName("ams_catalyst_copper").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_copper");
|
||||
ams_catalyst_dineutronium = new ItemCatalyst(0x334077, 2500000, 1.0F, 1.15F, 1.0F).setUnlocalizedName("ams_catalyst_dineutronium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_dineutronium");
|
||||
ams_catalyst_dineutronium = new ItemCatalyst(0x334077, 2500000, 1.0F, 1.15F, 0.85F).setUnlocalizedName("ams_catalyst_dineutronium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_dineutronium");
|
||||
ams_catalyst_euphemium = new ItemCatalyst(0xFF9CD2, 2500000, 1.0F, 1.0F, 1.0F).setUnlocalizedName("ams_catalyst_euphemium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_euphemium");
|
||||
ams_catalyst_iron = new ItemCatalyst(0xFF7E22, 1000000, 1.15F, 0.95F, 1.0F).setUnlocalizedName("ams_catalyst_iron").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_iron");
|
||||
ams_catalyst_lithium = new ItemCatalyst(0xFF2727, 0, 1.25F, 0.85F, 1.0F).setUnlocalizedName("ams_catalyst_lithium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_lithium");
|
||||
ams_catalyst_niobium = new ItemCatalyst(0x3BF1B6, 1000000, 1.15F, 1.05F, 1.0F).setUnlocalizedName("ams_catalyst_niobium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_niobium");
|
||||
ams_catalyst_schrabidium = new ItemCatalyst(0x32FFFF, 2500000, 1.0F, 1.05F, 1.0F).setUnlocalizedName("ams_catalyst_schrabidium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_schrabidium");
|
||||
ams_catalyst_iron = new ItemCatalyst(0xFF7E22, 1000000, 1.15F, 0.95F, 1.05F).setUnlocalizedName("ams_catalyst_iron").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_iron");
|
||||
ams_catalyst_lithium = new ItemCatalyst(0xFF2727, 0, 1.25F, 0.85F, 1.15F).setUnlocalizedName("ams_catalyst_lithium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_lithium");
|
||||
ams_catalyst_niobium = new ItemCatalyst(0x3BF1B6, 1000000, 1.15F, 1.05F, 0.95F).setUnlocalizedName("ams_catalyst_niobium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_niobium");
|
||||
ams_catalyst_schrabidium = new ItemCatalyst(0x32FFFF, 2500000, 1.0F, 1.05F, 0.95F).setUnlocalizedName("ams_catalyst_schrabidium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_schrabidium");
|
||||
ams_catalyst_strontium = new ItemCatalyst(0xDD0D35, 1000000, 1.15F, 1.0F, 1.0F).setUnlocalizedName("ams_catalyst_strontium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_strontium");
|
||||
ams_catalyst_thorium = new ItemCatalyst(0x653B22, 2500000, 1.0F, 0.95F, 1.0F).setUnlocalizedName("ams_catalyst_thorium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_thorium");
|
||||
ams_catalyst_tungsten = new ItemCatalyst(0xF5FF48, 0, 1.25F, 1.15F, 1.0F).setUnlocalizedName("ams_catalyst_tungsten").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_tungsten");
|
||||
ams_catalyst_thorium = new ItemCatalyst(0x653B22, 2500000, 1.0F, 0.95F, 1.05F).setUnlocalizedName("ams_catalyst_thorium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_thorium");
|
||||
ams_catalyst_tungsten = new ItemCatalyst(0xF5FF48, 0, 1.25F, 1.15F, 0.85F).setUnlocalizedName("ams_catalyst_tungsten").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_tungsten");
|
||||
|
||||
cell_empty = new ItemCell().setUnlocalizedName("cell_empty").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":cell_empty");
|
||||
cell_uf6 = new Item().setUnlocalizedName("cell_uf6").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_uf6");
|
||||
@ -1912,10 +1916,10 @@ public class ModItems {
|
||||
ams_focus_limiter = new ItemCustomLore().setUnlocalizedName("ams_focus_limiter").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ams_focus_limiter");
|
||||
ams_focus_booster = new ItemCustomLore().setUnlocalizedName("ams_focus_booster").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ams_focus_booster");
|
||||
ams_muzzle = new ItemCustomLore().setUnlocalizedName("ams_muzzle").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ams_muzzle");
|
||||
ams_core_sing = new ItemAMSCore().setUnlocalizedName("ams_core_sing").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ams_core_sing");
|
||||
ams_core_wormhole = new ItemAMSCore().setUnlocalizedName("ams_core_wormhole").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ams_core_wormhole");
|
||||
ams_core_eyeofharmony = new ItemAMSCore().setUnlocalizedName("ams_core_eyeofharmony").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ams_core_eyeofharmony");
|
||||
ams_core_thingy = new ItemAMSCore().setUnlocalizedName("ams_core_thingy").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":ams_core_thingy");
|
||||
ams_core_sing = new ItemAMSCore(1000000000L, 200, 10).setUnlocalizedName("ams_core_sing").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ams_core_sing");
|
||||
ams_core_wormhole = new ItemAMSCore(1500000000L, 200, 15).setUnlocalizedName("ams_core_wormhole").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ams_core_wormhole");
|
||||
ams_core_eyeofharmony = new ItemAMSCore(2500000000L, 300, 10).setUnlocalizedName("ams_core_eyeofharmony").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ams_core_eyeofharmony");
|
||||
ams_core_thingy = new ItemAMSCore(5000000000L, 250, 5).setUnlocalizedName("ams_core_thingy").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":ams_core_thingy");
|
||||
|
||||
upgrade_template = new ItemCustomLore().setUnlocalizedName("upgrade_template").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":upgrade_template");
|
||||
upgrade_speed_1 = new ItemCustomLore().setUnlocalizedName("upgrade_speed_1").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":upgrade_speed_1");
|
||||
@ -2312,6 +2316,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(ingot_lanthanium, ingot_lanthanium.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ingot_actinium, ingot_actinium.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ingot_desh, ingot_desh.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ingot_starmetal, ingot_starmetal.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ingot_euphemium, ingot_euphemium.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ingot_dineutronium, ingot_dineutronium.getUnlocalizedName());
|
||||
|
||||
@ -2447,6 +2452,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(plate_paa, plate_paa.getUnlocalizedName());
|
||||
GameRegistry.registerItem(plate_polymer, plate_polymer.getUnlocalizedName());
|
||||
GameRegistry.registerItem(plate_dalekanium, plate_dalekanium.getUnlocalizedName());
|
||||
GameRegistry.registerItem(plate_desh, plate_desh.getUnlocalizedName());
|
||||
GameRegistry.registerItem(plate_euphemium, plate_euphemium.getUnlocalizedName());
|
||||
GameRegistry.registerItem(plate_dineutronium, plate_dineutronium.getUnlocalizedName());
|
||||
|
||||
|
||||
@ -14,6 +14,16 @@ import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ItemAMSCore extends Item {
|
||||
|
||||
long powerBase;
|
||||
int heatBase;
|
||||
int fuelBase;
|
||||
|
||||
public ItemAMSCore(long powerBase, int heatBase, int fuelBase) {
|
||||
this.powerBase = powerBase;
|
||||
this.heatBase = heatBase;
|
||||
this.fuelBase = fuelBase;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
|
||||
|
||||
@ -89,4 +99,22 @@ public class ItemAMSCore extends Item {
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static long getPowerBase(ItemStack stack) {
|
||||
if(stack == null || !(stack.getItem() instanceof ItemAMSCore))
|
||||
return 0;
|
||||
return ((ItemAMSCore)stack.getItem()).powerBase;
|
||||
}
|
||||
|
||||
public static int getHeatBase(ItemStack stack) {
|
||||
if(stack == null || !(stack.getItem() instanceof ItemAMSCore))
|
||||
return 0;
|
||||
return ((ItemAMSCore)stack.getItem()).heatBase;
|
||||
}
|
||||
|
||||
public static int getFuelBase(ItemStack stack) {
|
||||
if(stack == null || !(stack.getItem() instanceof ItemAMSCore))
|
||||
return 0;
|
||||
return ((ItemAMSCore)stack.getItem()).fuelBase;
|
||||
}
|
||||
}
|
||||
|
||||
@ -11,7 +11,7 @@ import net.minecraft.item.ItemStack;
|
||||
public class ItemCatalyst extends Item {
|
||||
|
||||
int color;
|
||||
int powerAbs;
|
||||
long powerAbs;
|
||||
float powerMod;
|
||||
float heatMod;
|
||||
float fuelMod;
|
||||
@ -24,7 +24,7 @@ public class ItemCatalyst extends Item {
|
||||
this.fuelMod = 1.0F;
|
||||
}
|
||||
|
||||
public ItemCatalyst(int color, int powerAbs, float powerMod, float heatMod, float fuelMod) {
|
||||
public ItemCatalyst(int color, long powerAbs, float powerMod, float heatMod, float fuelMod) {
|
||||
this.color = color;
|
||||
this.powerAbs = powerAbs;
|
||||
this.powerMod = powerMod;
|
||||
@ -44,5 +44,29 @@ public class ItemCatalyst extends Item {
|
||||
list.add("Heat Modifier: " + (heatMod >= 1 ? "+" : "") + (Math.round(heatMod * 1000) * .10 - 100) + "%");
|
||||
list.add("Fuel Modifier: " + (fuelMod >= 1 ? "+" : "") + (Math.round(fuelMod * 1000) * .10 - 100) + "%");
|
||||
}
|
||||
|
||||
public static long getPowerAbs(ItemStack stack) {
|
||||
if(stack == null || !(stack.getItem() instanceof ItemCatalyst))
|
||||
return 0;
|
||||
return ((ItemCatalyst)stack.getItem()).powerAbs;
|
||||
}
|
||||
|
||||
public static float getPowerMod(ItemStack stack) {
|
||||
if(stack == null || !(stack.getItem() instanceof ItemCatalyst))
|
||||
return 0;
|
||||
return ((ItemCatalyst)stack.getItem()).powerMod;
|
||||
}
|
||||
|
||||
public static float getHeatMod(ItemStack stack) {
|
||||
if(stack == null || !(stack.getItem() instanceof ItemCatalyst))
|
||||
return 0;
|
||||
return ((ItemCatalyst)stack.getItem()).heatMod;
|
||||
}
|
||||
|
||||
public static float getFuelMod(ItemStack stack) {
|
||||
if(stack == null || !(stack.getItem() instanceof ItemCatalyst))
|
||||
return 0;
|
||||
return ((ItemCatalyst)stack.getItem()).fuelMod;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -229,7 +229,9 @@ public class ItemAssemblyTemplate extends Item {
|
||||
FLEIIJA_IGNITER,
|
||||
FLEIJA_CORE,
|
||||
FLEIJA_PROPELLANT,
|
||||
SCHRABIDIUM_HAMMER;
|
||||
SCHRABIDIUM_HAMMER,
|
||||
COMPONENT_LIMITER,
|
||||
COMPONENT_EMITTER;
|
||||
|
||||
//private final int value;
|
||||
//private EnumAssemblyTemplate(int value) {
|
||||
@ -718,6 +720,10 @@ public class ItemAssemblyTemplate extends Item {
|
||||
return 400;
|
||||
case SCHRABIDIUM_HAMMER:
|
||||
return 1000;
|
||||
case COMPONENT_LIMITER:
|
||||
return 2500;
|
||||
case COMPONENT_EMITTER:
|
||||
return 2500;
|
||||
default:
|
||||
return 100;
|
||||
}
|
||||
|
||||
@ -33,6 +33,8 @@ public class ModDamageSource extends DamageSource {
|
||||
public static DamageSource meteorite = (new DamageSource("meteorite")).setDamageIsAbsolute().setDamageBypassesArmor();
|
||||
public static DamageSource boxcar = (new DamageSource("boxcar")).setDamageIsAbsolute().setDamageBypassesArmor();
|
||||
public static DamageSource taint = (new DamageSource("taint")).setDamageIsAbsolute().setDamageBypassesArmor();
|
||||
public static DamageSource ams = (new DamageSource("ams")).setDamageIsAbsolute().setDamageBypassesArmor();
|
||||
public static DamageSource amsCore = (new DamageSource("amsCore")).setDamageIsAbsolute().setDamageBypassesArmor();
|
||||
|
||||
public ModDamageSource(String p_i1566_1_) {
|
||||
super(p_i1566_1_);
|
||||
|
||||
@ -124,6 +124,7 @@ public class ClientProxy extends ServerProxy
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityNukeCloudSmall.class, new RenderSmallNukeAlt());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityNukeCloudBig.class, new RenderBigNuke());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityCloudFleija.class, new RenderCloudFleija());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityCloudFleijaRainbow.class, new RenderCloudRainbow());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityNukeCloudNoShroom.class, new RenderNoCloud());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityFalloutRain.class, new RenderFallout());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityBlackHole.class, new RenderBlackHole());
|
||||
|
||||
@ -1084,6 +1084,7 @@ public class CraftingManager {
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_pip_ammo, 1), new Object[] { "S", "G", "C", 'S', "plateSteel", 'G', Items.gunpowder, 'C', "plateCopper" }));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_dineutronium, 1), new Object[] { ModItems.powder_spark_mix, "nuggetSchrabidium" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_dineutronium, 4), new Object[] { "PIP", "IDI", "PIP", 'P', ModItems.powder_spark_mix, 'I', "ingotDineutronium", 'D', "ingotDesh" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_desh, 4), new Object[] { "PIP", "IDI", "PIP", 'P', ModItems.powder_polymer, 'I', "ingotDesh", 'D', "ingotDuraSteel" }));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModBlocks.taint), new Object[] { "nuggetEuphemium", ModItems.nuclear_waste }));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModBlocks.taint), new Object[] { "nuggetEuphemium", ModItems.trinitite }));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.meteor_remote), new Object[] { "nuggetSchrabidium", ModItems.fragment_meteorite, ModItems.crate_caller }));
|
||||
|
||||
@ -41,6 +41,7 @@ import com.hbm.creativetabs.NukeTab;
|
||||
import com.hbm.creativetabs.PartsTab;
|
||||
import com.hbm.entity.effect.EntityBlackHole;
|
||||
import com.hbm.entity.effect.EntityCloudFleija;
|
||||
import com.hbm.entity.effect.EntityCloudFleijaRainbow;
|
||||
import com.hbm.entity.effect.EntityEMPBlast;
|
||||
import com.hbm.entity.effect.EntityFalloutRain;
|
||||
import com.hbm.entity.effect.EntityNukeCloudBig;
|
||||
@ -74,6 +75,7 @@ import com.hbm.entity.logic.EntityMissileTest;
|
||||
import com.hbm.entity.logic.EntityNukeExplosion;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionAdvanced;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK3;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK4;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionPlus;
|
||||
import com.hbm.entity.logic.IChunkLoader;
|
||||
import com.hbm.entity.missile.EntityBombletSelena;
|
||||
@ -647,6 +649,8 @@ public class MainRegistry
|
||||
EntityRegistry.registerModEntity(EntityBoxcar.class, "entity_boxcar", 86, this, 1000, 1, true);
|
||||
EntityRegistry.registerModEntity(EntityMissileTaint.class, "entity_missile_taint", 87, this, 1000, 1, true);
|
||||
EntityRegistry.registerModEntity(EntityGrenadeGascan.class, "entity_grenade_gascan", 88, this, 1000, 1, true);
|
||||
EntityRegistry.registerModEntity(EntityNukeExplosionMK4.class, "entity_nuke_mk4", 89, this, 1000, 1, true);
|
||||
EntityRegistry.registerModEntity(EntityCloudFleijaRainbow.class, "entity_cloud_rainbow", 90, this, 1000, 1, true);
|
||||
|
||||
EntityRegistry.registerGlobalEntityID(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00);
|
||||
EntityRegistry.registerGlobalEntityID(EntityHunterChopper.class, "entity_mob_hunter_chopper", EntityRegistry.findGlobalUniqueEntityId(), 0x000020, 0x2D2D72);
|
||||
|
||||
71
com/hbm/render/entity/RenderCloudRainbow.java
Normal file
71
com/hbm/render/entity/RenderCloudRainbow.java
Normal file
@ -0,0 +1,71 @@
|
||||
package com.hbm.render.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.entity.effect.EntityCloudFleija;
|
||||
import com.hbm.entity.effect.EntityCloudFleijaRainbow;
|
||||
import com.hbm.lib.RefStrings;
|
||||
|
||||
import net.minecraft.client.renderer.entity.Render;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.client.model.AdvancedModelLoader;
|
||||
import net.minecraftforge.client.model.IModelCustom;
|
||||
|
||||
public class RenderCloudRainbow extends Render {
|
||||
|
||||
private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/Sphere.obj");
|
||||
private IModelCustom blastModel;
|
||||
public float scale = 0;
|
||||
public float ring = 0;
|
||||
|
||||
public RenderCloudRainbow() {
|
||||
blastModel = AdvancedModelLoader.loadModel(objTesterModelRL);
|
||||
scale = 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) {
|
||||
render((EntityCloudFleijaRainbow)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
}
|
||||
|
||||
public void render(EntityCloudFleijaRainbow cloud, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_);
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
GL11.glDisable(GL11.GL_TEXTURE_2D);
|
||||
|
||||
GL11.glScalef(cloud.age, cloud.age, cloud.age);
|
||||
|
||||
GL11.glColor3ub((byte)cloud.worldObj.rand.nextInt(0x100), (byte)cloud.worldObj.rand.nextInt(0x100), (byte)cloud.worldObj.rand.nextInt(0x100));
|
||||
|
||||
GL11.glScalef(0.5F, 0.5F, 0.5F);
|
||||
blastModel.renderAll();
|
||||
GL11.glScalef(1/0.5F, 1/0.5F, 1/0.5F);
|
||||
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
|
||||
|
||||
for(float i = 0.6F; i <= 1F; i += 0.1F) {
|
||||
|
||||
GL11.glColor3ub((byte)cloud.worldObj.rand.nextInt(0x100), (byte)cloud.worldObj.rand.nextInt(0x100), (byte)cloud.worldObj.rand.nextInt(0x100));
|
||||
|
||||
GL11.glScalef(i, i, i);
|
||||
blastModel.renderAll();
|
||||
GL11.glScalef(1/i, 1/i, 1/i);
|
||||
}
|
||||
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glEnable(GL11.GL_TEXTURE_2D);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -16,12 +16,14 @@ import com.hbm.items.ModItems;
|
||||
import com.hbm.items.special.ItemAMSCore;
|
||||
import com.hbm.items.special.ItemCatalyst;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.lib.ModDamageSource;
|
||||
import com.hbm.packet.AuxElectricityPacket;
|
||||
import com.hbm.packet.AuxGaugePacket;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
|
||||
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.inventory.ISidedInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@ -237,6 +239,15 @@ public class TileEntityAMSBase extends TileEntity implements ISidedInventory, IS
|
||||
if (!worldObj.isRemote) {
|
||||
|
||||
if(!locked) {
|
||||
|
||||
age++;
|
||||
if(age >= 20)
|
||||
{
|
||||
age = 0;
|
||||
}
|
||||
|
||||
if(age == 9 || age == 19)
|
||||
ffgeuaInit();
|
||||
|
||||
tanks[0].setType(0, 1, slots);
|
||||
tanks[1].setType(2, 3, slots);
|
||||
@ -297,6 +308,13 @@ public class TileEntityAMSBase extends TileEntity implements ISidedInventory, IS
|
||||
|
||||
this.color = -1;
|
||||
|
||||
float powerMod = 1;
|
||||
float heatMod = 1;
|
||||
float fuelMod = 1;
|
||||
long powerBase = 0;
|
||||
int heatBase = 0;
|
||||
int fuelBase = 0;
|
||||
|
||||
if(slots[8] != null && slots[9] != null && slots[10] != null && slots[11] != null && slots[12] != null &&
|
||||
slots[8].getItem() instanceof ItemCatalyst && slots[9].getItem() instanceof ItemCatalyst &&
|
||||
slots[10].getItem() instanceof ItemCatalyst && slots[11].getItem() instanceof ItemCatalyst &&
|
||||
@ -312,8 +330,51 @@ public class TileEntityAMSBase extends TileEntity implements ISidedInventory, IS
|
||||
int g = this.calcAvgHex(e, f);
|
||||
|
||||
this.color = g;
|
||||
|
||||
|
||||
for(int i = 8; i < 12; i++) {
|
||||
powerBase += ItemCatalyst.getPowerAbs(slots[i]);
|
||||
powerMod *= ItemCatalyst.getPowerMod(slots[i]);
|
||||
heatMod *= ItemCatalyst.getHeatMod(slots[i]);
|
||||
fuelMod *= ItemCatalyst.getFuelMod(slots[i]);
|
||||
}
|
||||
|
||||
powerBase = ItemAMSCore.getPowerBase(slots[12]);
|
||||
heatBase = ItemAMSCore.getHeatBase(slots[12]);
|
||||
fuelBase = ItemAMSCore.getFuelBase(slots[12]);
|
||||
|
||||
powerBase *= this.efficiency;
|
||||
powerBase *= Math.pow(1.25F, booster);
|
||||
heatBase *= Math.pow(1.25F, booster);
|
||||
heatBase *= (100 - field);
|
||||
|
||||
if(this.getFuelPower(tanks[2].getTankType()) > 0 && this.getFuelPower(tanks[3].getTankType()) > 0) {
|
||||
|
||||
power += (powerBase * powerMod * gauss(1, (heat - (maxHeat / 2)) / maxHeat));
|
||||
heat += (heatBase * heatMod) / (float)(this.field / 100F);
|
||||
tanks[2].setFill((int)(tanks[2].getFill() - fuelBase * fuelMod));
|
||||
tanks[3].setFill((int)(tanks[3].getFill() - fuelBase * fuelMod));
|
||||
if(tanks[2].getFill() <= 0)
|
||||
tanks[2].setFill(0);
|
||||
if(tanks[3].getFill() <= 0)
|
||||
tanks[3].setFill(0);
|
||||
|
||||
radiation();
|
||||
|
||||
if(heat > maxHeat) {
|
||||
explode();
|
||||
heat = maxHeat;
|
||||
}
|
||||
|
||||
if(field < 2)
|
||||
explode();
|
||||
}
|
||||
}
|
||||
|
||||
if(power > maxPower)
|
||||
power = maxPower;
|
||||
|
||||
|
||||
if(heat > 0 && tanks[0].getFill() > 0 && tanks[1].getFill() > 0) {
|
||||
heat -= (this.getCoolingStrength(tanks[0].getTankType()) * this.getCoolingStrength(tanks[1].getTankType()));
|
||||
|
||||
@ -344,16 +405,45 @@ public class TileEntityAMSBase extends TileEntity implements ISidedInventory, IS
|
||||
}
|
||||
}
|
||||
|
||||
private void radiation() {
|
||||
|
||||
double maxSize = 5;
|
||||
double minSize = 0.5;
|
||||
double scale = minSize;
|
||||
scale += ((((double)this.tanks[2].getFill()) / ((double)this.tanks[2].getMaxFill())) + (((double)this.tanks[3].getFill()) / ((double)this.tanks[3].getMaxFill()))) * ((maxSize - minSize) / 2);
|
||||
|
||||
scale *= 0.60;
|
||||
|
||||
List<Entity> list = worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(xCoord - 10 + 0.5, yCoord - 10 + 0.5 + 6, zCoord - 10 + 0.5, xCoord + 10 + 0.5, yCoord + 10 + 0.5 + 6, zCoord + 10 + 0.5));
|
||||
|
||||
for(Entity e : list) {
|
||||
if(!Library.isObstructed(worldObj, xCoord + 0.5, yCoord + 0.5 + 6, zCoord + 0.5, e.posX, e.posY + e.getEyeHeight(), e.posZ)) {
|
||||
e.attackEntityFrom(ModDamageSource.ams, 1000);
|
||||
e.setFire(3);
|
||||
}
|
||||
}
|
||||
|
||||
List<Entity> list2 = worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(xCoord - scale + 0.5, yCoord - scale + 0.5 + 6, zCoord - scale + 0.5, xCoord + scale + 0.5, yCoord + scale + 0.5 + 6, zCoord + scale + 0.5));
|
||||
|
||||
for(Entity e : list2) {
|
||||
e.attackEntityFrom(ModDamageSource.amsCore, 10000);
|
||||
}
|
||||
}
|
||||
|
||||
private void explode() {
|
||||
|
||||
}
|
||||
|
||||
private int getCoolingStrength(FluidType type) {
|
||||
switch(type) {
|
||||
case WATER:
|
||||
return 50;
|
||||
return 5;
|
||||
case OIL:
|
||||
return 150;
|
||||
return 15;
|
||||
case COOLANT:
|
||||
return this.heat / 50;
|
||||
return this.heat / 250;
|
||||
case CRYOGEL:
|
||||
return this.heat > heat/2 ? 200 : 50;
|
||||
return this.heat > heat/2 ? 25 : 5;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
@ -483,6 +573,7 @@ public class TileEntityAMSBase extends TileEntity implements ISidedInventory, IS
|
||||
ffgeua(this.xCoord + 2, this.yCoord, this.zCoord, getTact());
|
||||
ffgeua(this.xCoord, this.yCoord, this.zCoord - 2, getTact());
|
||||
ffgeua(this.xCoord, this.yCoord, this.zCoord + 2, getTact());
|
||||
ffgeua(this.xCoord, this.yCoord - 1, this.zCoord, getTact());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user