reliant robin space shuttle

This commit is contained in:
Boblet 2021-11-09 15:58:35 +01:00
parent 8d6575f967
commit 60d54086cf
18 changed files with 3600 additions and 6 deletions

View File

@ -258,6 +258,9 @@ public class LaunchPad extends BlockContainer implements IBomb {
if(entity.slots[0].getItem() == ModItems.missile_volcano) {
missile = new EntityMissileVolcano(world, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord);
}
if(entity.slots[0].getItem() == ModItems.missile_shuttle) {
missile = new EntityMissileShuttle(world, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord);
}
world.spawnEntityInWorld(missile);
world.playSoundEffect(x, y, z, "hbm:weapon.missileTakeOff", 2.0F, 1.0F);

View File

@ -0,0 +1,71 @@
package com.hbm.entity.missile;
import java.util.ArrayList;
import java.util.List;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.explosion.ExplosionNT;
import com.hbm.explosion.ExplosionNT.ExAttrib;
import com.hbm.items.ModItems;
import com.hbm.main.MainRegistry;
import com.hbm.packet.AuxParticlePacketNT;
import com.hbm.packet.PacketDispatcher;
import api.hbm.entity.IRadarDetectable.RadarTargetType;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
public class EntityMissileShuttle extends EntityMissileBaseAdvanced {
public EntityMissileShuttle(World p_i1582_1_) {
super(p_i1582_1_);
}
public EntityMissileShuttle(World world, float x, float y, float z, int a, int b) {
super(world, x, y, z, a, b);
}
@Override
public void onImpact() {
ExplosionNT explosion = new ExplosionNT(worldObj, null, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 20.0F).overrideResolution(64);
explosion.atttributes.add(ExAttrib.NOSOUND);
explosion.atttributes.add(ExAttrib.NOPARTICLE);
explosion.explode();
NBTTagCompound data = new NBTTagCompound();
data.setString("type", "rbmkmush");
data.setFloat("scale", 10);
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, this.posX + 0.5, this.posY + 1, this.posZ + 0.5), new TargetPoint(worldObj.provider.dimensionId,this.posX + 0.5, this.posY + 1, this.posZ + 0.5, 250));
MainRegistry.proxy.effectNT(data);
this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "hbm:weapon.robin_explosion", 4.0F, (1.0F + (this.worldObj.rand.nextFloat() - this.worldObj.rand.nextFloat()) * 0.2F) * 0.7F);
}
@Override
public List<ItemStack> getDebris() {
List<ItemStack> list = new ArrayList<ItemStack>();
list.add(new ItemStack(ModItems.plate_steel, 8));
list.add(new ItemStack(ModItems.thruster_medium, 2));
list.add(new ItemStack(ModItems.canister_empty, 1));
list.add(new ItemStack(ModItems.circuit_targeting_tier4, 1));
list.add(new ItemStack(Blocks.glass_pane, 2));
return list;
}
@Override
public ItemStack getDebrisRareDrop() {
return new ItemStack(ModItems.missile_generic);
}
@Override
public RadarTargetType getTargetType() {
return RadarTargetType.MISSILE_TIER3;
}
}

View File

@ -738,6 +738,18 @@ public class AssemblerRecipes {
new ComparableStack(ModItems.circuit_aluminium, 3)
}, 100);
makeRecipe(new ComparableStack(ModItems.missile_shuttle, 1), new AStack[] {
new ComparableStack(ModItems.missile_generic, 2),
new ComparableStack(ModItems.missile_strong, 1),
new OreDictStack(KEY_ORANGE, 5),
new ComparableStack(ModItems.canister_gasoline, 24),
new OreDictStack(FIBER.ingot(), 12),
new ComparableStack(ModItems.circuit_copper, 2),
new ComparableStack(ModItems.ingot_semtex, 8),
new OreDictStack(KEY_ANYPANE, 6),
new OreDictStack(STEEL.plate(), 4),
}, 100);
makeRecipe(new ComparableStack(ModBlocks.machine_difurnace_rtg_off, 1), new AStack[] {
new ComparableStack(ModBlocks.machine_difurnace_off, 1),
new ComparableStack(ModItems.rtg_unit, 3),

View File

@ -871,6 +871,7 @@ public class ModItems {
public static Item can_luna;
public static Item can_bepis;
public static Item can_breen;
public static Item mucho_mango;
public static Item bottle_empty;
public static Item bottle_nuka;
public static Item bottle_cherry;
@ -1237,6 +1238,7 @@ public class ModItems {
public static Item missile_bhole;
public static Item missile_schrabidium;
public static Item missile_emp;
public static Item missile_shuttle;
public static Item mp_thruster_10_kerosene;
public static Item mp_thruster_10_kerosene_tec;
@ -3823,6 +3825,7 @@ public class ModItems {
missile_bhole = new Item().setUnlocalizedName("missile_bhole").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_bhole");
missile_schrabidium = new Item().setUnlocalizedName("missile_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_schrabidium");
missile_emp = new Item().setUnlocalizedName("missile_emp").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_emp");
missile_shuttle = new ItemMissileShuttle().setUnlocalizedName("missile_shuttle").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_shuttle");
missile_carrier = new Item().setUnlocalizedName("missile_carrier").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_carrier");
missile_soyuz = new ItemSoyuz().setUnlocalizedName("missile_soyuz").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":soyuz");
missile_soyuz_lander = new ItemCustomLore().setUnlocalizedName("missile_soyuz_lander").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":soyuz_lander");
@ -4332,6 +4335,7 @@ public class ModItems {
peas = new ItemPeas().setUnlocalizedName("peas").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":peas");
marshmallow = new ItemMarshmallow().setUnlocalizedName("marshmallow").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":marshmallow");
cheese = new ItemLemon(5, 10, false).setUnlocalizedName("cheese").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cheese");
mucho_mango = new ItemMuchoMango(10).setUnlocalizedName("mucho_mango").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":mucho_mango");
defuser = new Item().setUnlocalizedName("defuser").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":defuser");
reacher = new Item().setUnlocalizedName("reacher").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":reacher");
@ -6700,6 +6704,7 @@ public class ModItems {
GameRegistry.registerItem(missile_bhole, missile_bhole.getUnlocalizedName());
GameRegistry.registerItem(missile_schrabidium, missile_schrabidium.getUnlocalizedName());
GameRegistry.registerItem(missile_emp, missile_emp.getUnlocalizedName());
GameRegistry.registerItem(missile_shuttle, missile_shuttle.getUnlocalizedName());
GameRegistry.registerItem(missile_carrier, missile_carrier.getUnlocalizedName());
GameRegistry.registerItem(missile_soyuz, missile_soyuz.getUnlocalizedName());
GameRegistry.registerItem(missile_soyuz_lander, missile_soyuz_lander.getUnlocalizedName());
@ -7389,6 +7394,7 @@ public class ModItems {
GameRegistry.registerItem(canteen_13, canteen_13.getUnlocalizedName());
GameRegistry.registerItem(canteen_vodka, canteen_vodka.getUnlocalizedName());
GameRegistry.registerItem(canteen_fab, canteen_fab.getUnlocalizedName());
GameRegistry.registerItem(mucho_mango, mucho_mango.getUnlocalizedName());
//Energy Drinks
GameRegistry.registerItem(can_empty, can_empty.getUnlocalizedName());

View File

@ -0,0 +1,23 @@
package com.hbm.items.bomb;
import java.util.List;
import com.hbm.items.ModItems;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public class ItemMissileShuttle extends Item {
@Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
list.add("Tonite, on bo''om gear:");
list.add("James huffs leaded gasoline and");
list.add("goes insane, Richard spends the");
list.add("entire budget on a broken .PNG,");
list.add("And I forget to set the infinite");
list.add("Water tanks on our RBMK to flow");
list.add("out, blowing up our entire base");
}
}

View File

@ -0,0 +1,54 @@
package com.hbm.items.food;
import java.util.List;
import java.util.Random;
import com.hbm.items.ModItems;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumAction;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.world.World;
public class ItemMuchoMango extends ItemFood {
public ItemMuchoMango(int hunger) {
super(hunger, true);
this.setAlwaysEdible();
}
Random rand = new Random();
@Override
protected void onFoodEaten(ItemStack stack, World world, EntityPlayer player) {
if(!world.isRemote) {
player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 200));
}
}
@Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
if(this == ModItems.mucho_mango) {
list.add("The Comically Large Can");
}
}
public int getMaxItemUseDuration(ItemStack p_77626_1_) {
return 200;
}
@Override
public EnumAction getItemUseAction(ItemStack p_77661_1_) {
return EnumAction.drink;
}
@Override
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {
player.setItemInUse(stack, this.getMaxItemUseDuration(stack));
return stack;
}
}

View File

@ -542,6 +542,7 @@ public class ClientProxy extends ServerProxy {
RenderingRegistry.registerEntityRenderingHandler(EntityMissileEMP.class, new RenderMissileTaint());
RenderingRegistry.registerEntityRenderingHandler(EntityMissileEndo.class, new RenderMissileThermo());
RenderingRegistry.registerEntityRenderingHandler(EntityMissileExo.class, new RenderMissileThermo());
RenderingRegistry.registerEntityRenderingHandler(EntityMissileShuttle.class, new RenderMissileShuttle());
//effects
RenderingRegistry.registerEntityRenderingHandler(EntityNukeCloudSmall.class, new RenderSmallNukeMK4());
RenderingRegistry.registerEntityRenderingHandler(EntityNukeCloudBig.class, new RenderBigNuke());

View File

@ -464,6 +464,7 @@ public class MainRegistry {
EntityRegistry.registerModEntity(EntityQuasar.class, "entity_digamma_quasar", 157, this, 250, 1, true);
EntityRegistry.registerModEntity(EntitySpear.class, "entity_digamma_spear", 158, this, 1000, 1, true);
EntityRegistry.registerModEntity(EntityMissileVolcano.class, "entity_missile_volcano", 159, this, 1000, 1, true);
EntityRegistry.registerModEntity(EntityMissileShuttle.class, "entity_missile_shuttle", 160, this, 1000, 1, true);
EntityRegistry.registerGlobalEntityID(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00);
EntityRegistry.registerGlobalEntityID(EntityTaintedCreeper.class, "entity_mob_tainted_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x813b9b, 0xd71fdd);

View File

@ -730,6 +730,7 @@ public class ResourceManager {
public static final IModelCustom missileThermo = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileThermo.obj"));
public static final IModelCustom missileDoomsday = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileDoomsday.obj"));
public static final IModelCustom missileTaint = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileTaint.obj"));
public static final IModelCustom missileShuttle = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileShuttle.obj"));
public static final IModelCustom missileCarrier = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileCarrier.obj"));
public static final IModelCustom missileBooster = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileBooster.obj"));
public static final IModelCustom minerRocket = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/minerRocket.obj"));
@ -869,6 +870,7 @@ public class ResourceManager {
public static final ResourceLocation missileExo_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileExo.png");
public static final ResourceLocation missileDoomsday_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileDoomsday.png");
public static final ResourceLocation missileTaint_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileTaint.png");
public static final ResourceLocation missileShuttle_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileShuttle.png");
public static final ResourceLocation missileMicro_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileMicro.png");
public static final ResourceLocation missileCarrier_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileCarrier.png");
public static final ResourceLocation missileBooster_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileBooster.png");

View File

@ -1,5 +1,6 @@
package com.hbm.packet;
import com.hbm.interfaces.Spaghetti;
import com.hbm.items.ModItems;
import com.hbm.tileentity.bomb.TileEntityLaunchPad;
@ -18,13 +19,11 @@ public class TEMissilePacket implements IMessage {
int z;
int type;
public TEMissilePacket()
{
}
public TEMissilePacket() { }
public TEMissilePacket(int x, int y, int z, ItemStack stack)
{
@Spaghetti("die")
public TEMissilePacket(int x, int y, int z, ItemStack stack) {
this.x = x;
this.y = y;
this.z = z;
@ -82,6 +81,8 @@ public class TEMissilePacket implements IMessage {
type = 25;
if(stack.getItem() == ModItems.missile_volcano)
type = 26;
if(stack.getItem() == ModItems.missile_shuttle)
type = 27;
}
}

View File

@ -0,0 +1,33 @@
package com.hbm.render.entity.rocket;
import org.lwjgl.opengl.GL11;
import com.hbm.main.ResourceManager;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
public class RenderMissileShuttle extends Render {
public RenderMissileShuttle() { }
@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_) {
GL11.glPushMatrix();
GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_);
GL11.glScalef(1F, 1F, 1F);
GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F);
bindTexture(ResourceManager.missileShuttle_tex);
ResourceManager.missileShuttle.renderAll();
GL11.glPopMatrix();
}
@Override
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
return ResourceManager.missileShuttle_tex;
}
}

View File

@ -197,6 +197,12 @@ public class RenderLaunchPadTier1 extends TileEntitySpecialRenderer {
bindTexture(ResourceManager.missileVolcano_tex);
ResourceManager.missileNuclear.renderAll();
}
if(state == 27)
{
GL11.glScalef(1.0F, 1.0F, 1.0F);
bindTexture(ResourceManager.missileShuttle_tex);
ResourceManager.missileShuttle.renderAll();
}
GL11.glEnable(GL11.GL_CULL_FACE);

File diff suppressed because it is too large Load Diff

View File

@ -149,6 +149,7 @@
"weapon.cDeploy": {"category": "player", "sounds": [{"name": "weapon/cDeploy", "stream": false}]},
"weapon.cSwing": {"category": "player", "sounds": [{"name": "weapon/cSwing", "stream": false}]},
"weapon.extinguisher": {"category": "player", "sounds": [{"name": "weapon/extinguisher", "stream": false}]},
"weapon.robin_explosion": {"category": "player", "sounds": [{"name": "weapon/robin_explosion", "stream": false}]},
"weapon.dFlash": {"category": "player", "sounds": [{"name": "weapon/dFlash", "stream": false}]},

Binary file not shown.

After

Width:  |  Height:  |  Size: 363 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB