new B-29 variants, fixed dead grass not using new radiation system

This commit is contained in:
HbmMods 2018-08-31 22:17:19 +02:00
parent 5472e71892
commit 586adbb819
11 changed files with 3895 additions and 87 deletions

3840
assets/hbm/models/b29.obj Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

View File

@ -82,30 +82,7 @@ public class WasteEarth extends Block {
{
if (entity instanceof EntityLivingBase && this == ModBlocks.waste_earth)
{
if(entity instanceof EntityPlayer && Library.checkForHazmat((EntityPlayer)entity))
{
/*Library.damageSuit(((EntityPlayer)entity), 0);
Library.damageSuit(((EntityPlayer)entity), 1);
Library.damageSuit(((EntityPlayer)entity), 2);
Library.damageSuit(((EntityPlayer)entity), 3);*/
} else if(entity instanceof EntityCreeper) {
EntityNuclearCreeper creep = new EntityNuclearCreeper(p_149724_1_);
creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch);
//creep.setRotationYawHead(((EntityCreeper)entity).rotationYawHead);
if(!entity.isDead)
if(!p_149724_1_.isRemote)
p_149724_1_.spawnEntityInWorld(creep);
entity.setDead();
} else if(entity instanceof EntityVillager) {
EntityZombie creep = new EntityZombie(p_149724_1_);
creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch);
entity.setDead();
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, 2 * 60 * 20, 2));
}
Library.applyRadiation((EntityLivingBase)entity, 4, 10, 0, 0);
}
if (entity instanceof EntityLivingBase && this == ModBlocks.frozen_grass)
@ -114,41 +91,7 @@ public class WasteEarth extends Block {
}
if (entity instanceof EntityLivingBase && this == ModBlocks.waste_mycelium)
{
if(entity instanceof EntityPlayer && Library.checkForHazmat((EntityPlayer)entity))
{
/*Library.damageSuit(((EntityPlayer)entity), 0);
Library.damageSuit(((EntityPlayer)entity), 1);
Library.damageSuit(((EntityPlayer)entity), 2);
Library.damageSuit(((EntityPlayer)entity), 3);*/
} else if(entity instanceof EntityCreeper) {
EntityNuclearCreeper creep = new EntityNuclearCreeper(p_149724_1_);
creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch);
//creep.setRotationYawHead(((EntityCreeper)entity).rotationYawHead);
if(!entity.isDead)
if(!p_149724_1_.isRemote)
p_149724_1_.spawnEntityInWorld(creep);
entity.setDead();
} else if(entity instanceof EntityCow) {
EntityMooshroom creep = new EntityMooshroom(p_149724_1_);
creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch);
//creep.setRotationYawHead(((EntityCow)entity).rotationYawHead);
if(!entity.isDead)
if(!p_149724_1_.isRemote)
p_149724_1_.spawnEntityInWorld(creep);
entity.setDead();
} else if(entity instanceof EntityVillager) {
EntityZombie creep = new EntityZombie(p_149724_1_);
creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch);
entity.setDead();
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, 4));
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.wither.id, 1 * 60 * 20, 2));
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.digSlowdown.id, 2 * 60 * 20, 2));
((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 3 * 60 * 20, 2));
}
Library.applyRadiation((EntityLivingBase)entity, 30, 14, 15, 9);
}
}

View File

@ -157,14 +157,26 @@ public class EntityBomber extends Entity {
int i = 1;
int rand = world.rand.nextInt(101);
int rand = world.rand.nextInt(5);
if(rand < 50)
i = 1;
else if(rand > 50)
i = 2;
else
i = 0;
switch(rand) {
case 0: i = 1; break;
case 1: i = 2; break;
case 2: i = 5; break;
case 3: i = 6; break;
case 4: i = 7; break;
}
if(world.rand.nextInt(100) == 0) {
rand = world.rand.nextInt(4);
switch(rand) {
case 0: i = 0; break;
case 1: i = 3; break;
case 2: i = 4; break;
case 3: i = 8; break;
}
}
this.getDataWatcher().updateObject(16, (byte)i);
this.setSize(8.0F, 4.0F);
@ -239,9 +251,9 @@ public class EntityBomber extends Entity {
EntityBomber bomber = new EntityBomber(world);
bomber.timer = 200;
bomber.bombStart = 70;
bomber.bombStop = 80;
bomber.bombRate = 75;
bomber.bombStart = 60;
bomber.bombStop = 70;
bomber.bombRate = 65;
bomber.fac(world, x, y, z);
@ -263,18 +275,7 @@ public class EntityBomber extends Entity {
bombRate = nbt.getInteger("bombRate");
type = nbt.getInteger("type");
int i = 1;
int rand = this.rand.nextInt(101);
if(rand < 50)
i = 1;
else if(rand > 50)
i = 2;
else
i = 0;
this.getDataWatcher().updateObject(16, (byte)i);
this.getDataWatcher().updateObject(16, nbt.getByte("style"));
this.setSize(8.0F, 4.0F);
}
@ -285,6 +286,7 @@ public class EntityBomber extends Entity {
nbt.setInteger("bombStop", bombStop);
nbt.setInteger("bombRate", bombRate);
nbt.setInteger("type", type);
nbt.setByte("style", this.getDataWatcher().getWatchableObjectByte(16));
}
protected void rotation() {

View File

@ -218,8 +218,9 @@ public class ResourceManager {
//Boxcar
public static final IModelCustom boxcar = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/boxcar.obj"));
//DO16
//Bomber
public static final IModelCustom dornier = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/dornier.obj"));
public static final IModelCustom b29 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/b29.obj"));
//Missiles
public static final IModelCustom missileV2 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileV2.obj"));
@ -238,10 +239,16 @@ public class ResourceManager {
//Boxcar
public static final ResourceLocation boxcar_tex = new ResourceLocation(RefStrings.MODID, "textures/models/boxcar.png");
//Dornier
//Bomber
public static final ResourceLocation dornier_0_tex = new ResourceLocation(RefStrings.MODID, "textures/models/dornier_0.png");
public static final ResourceLocation dornier_1_tex = new ResourceLocation(RefStrings.MODID, "textures/models/dornier_1.png");
public static final ResourceLocation dornier_2_tex = new ResourceLocation(RefStrings.MODID, "textures/models/dornier_2.png");
public static final ResourceLocation dornier_3_tex = new ResourceLocation(RefStrings.MODID, "textures/models/dornier_3.png");
public static final ResourceLocation dornier_4_tex = new ResourceLocation(RefStrings.MODID, "textures/models/dornier_4.png");
public static final ResourceLocation b29_0_tex = new ResourceLocation(RefStrings.MODID, "textures/models/b29_0.png");
public static final ResourceLocation b29_1_tex = new ResourceLocation(RefStrings.MODID, "textures/models/b29_1.png");
public static final ResourceLocation b29_2_tex = new ResourceLocation(RefStrings.MODID, "textures/models/b29_2.png");
public static final ResourceLocation b29_3_tex = new ResourceLocation(RefStrings.MODID, "textures/models/b29_3.png");
//Missiles
public static final ResourceLocation missileV2_HE_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileV2_HE.png");

View File

@ -23,9 +23,7 @@ public class RenderBomber extends Render {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glScalef(5F, 5F, 5F);
GL11.glRotatef(-90, 0F, 1F, 0F);
int i = p_76986_1_.getDataWatcher().getWatchableObjectByte(16);
@ -33,10 +31,28 @@ public class RenderBomber extends Render {
case 0: bindTexture(ResourceManager.dornier_0_tex); break;
case 1: bindTexture(ResourceManager.dornier_1_tex); break;
case 2: bindTexture(ResourceManager.dornier_2_tex); break;
case 3: bindTexture(ResourceManager.dornier_3_tex); break;
case 4: bindTexture(ResourceManager.dornier_4_tex); break;
case 5: bindTexture(ResourceManager.b29_0_tex); break;
case 6: bindTexture(ResourceManager.b29_1_tex); break;
case 7: bindTexture(ResourceManager.b29_2_tex); break;
case 8: bindTexture(ResourceManager.b29_3_tex); break;
default: bindTexture(ResourceManager.dornier_1_tex); break;
}
switch(i) {
case 0:
case 1:
case 2:
case 3:
case 4: GL11.glScalef(5F, 5F, 5F); GL11.glRotatef(-90, 0F, 1F, 0F); ResourceManager.dornier.renderAll(); break;
case 5:
case 6:
case 7:
case 8: GL11.glScalef(30F/3.1F, 30F/3.1F, 30F/3.1F); GL11.glRotatef(180, 0F, 1F, 0F); ResourceManager.b29.renderAll(); break;
default: ResourceManager.dornier.renderAll(); break;
}
ResourceManager.dornier.renderAll();
GL11.glEnable(GL11.GL_CULL_FACE);