Work on jetpack

This commit is contained in:
Aidan Brady 2013-12-03 21:49:12 -05:00
parent 8f4ac31871
commit 1cfdd805f3
6 changed files with 410 additions and 1 deletions
common/mekanism
resources/assets/mekanism/render

View file

@ -0,0 +1,234 @@
package mekanism.client.model;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
public class ModelJetpack extends ModelBase
{
ModelRenderer Packtop;
ModelRenderer Strapleft;
ModelRenderer Strapright;
ModelRenderer Packbottom;
ModelRenderer Thrusterleft;
ModelRenderer Thrusterright;
ModelRenderer Fueltuberight;
ModelRenderer Fueltubeleft;
ModelRenderer Packmid;
ModelRenderer Packcore;
ModelRenderer WingsupportL;
ModelRenderer WingsupportR;
ModelRenderer Packtoprear;
ModelRenderer ExtendosupportL;
ModelRenderer ExtendosupportR;
ModelRenderer WingbladeL;
ModelRenderer WingbladeR;
ModelRenderer Packdoodad2;
ModelRenderer Packdoodad3;
ModelRenderer Bottomthruster;
ModelRenderer head;
ModelRenderer body;
ModelRenderer rightarm;
ModelRenderer leftarm;
ModelRenderer rightleg;
ModelRenderer leftleg;
public ModelJetpack()
{
textureWidth = 128;
textureHeight = 64;
Packtop = new ModelRenderer(this, 92, 28);
Packtop.addBox(-4F, 0F, 4F, 8, 4, 1);
Packtop.setRotationPoint(0F, 0F, 0F);
Packtop.setTextureSize(128, 64);
Packtop.mirror = true;
setRotation(Packtop, 0.2094395F, 0F, 0F);
Strapleft = new ModelRenderer(this, 122, 35);
Strapleft.addBox(2.5F, 3.4F, 3.9F, 1, 2, 2);
Strapleft.setRotationPoint(0F, 0F, 0F);
Strapleft.setTextureSize(128, 64);
Strapleft.mirror = true;
setRotation(Strapleft, -0.0698132F, 0F, 0F);
Strapright = new ModelRenderer(this, 122, 35);
Strapright.addBox(-3.5F, 3.4F, 3.9F, 1, 2, 2);
Strapright.setRotationPoint(0F, 0F, 0F);
Strapright.setTextureSize(128, 64);
Strapright.mirror = true;
setRotation(Strapright, -0.0698132F, 0F, 0F);
Packbottom = new ModelRenderer(this, 92, 42);
Packbottom.addBox(-4F, 4.1F, 1.5F, 8, 4, 4);
Packbottom.setRotationPoint(0F, 0F, 0F);
Packbottom.setTextureSize(128, 64);
Packbottom.mirror = true;
setRotation(Packbottom, -0.0872665F, 0F, 0F);
Thrusterleft = new ModelRenderer(this, 69, 30);
Thrusterleft.addBox(7.8F, 1.5F, -3.5F, 3, 3, 3);
Thrusterleft.setRotationPoint(0F, 0F, 0F);
Thrusterleft.setTextureSize(128, 64);
Thrusterleft.mirror = true;
setRotation(Thrusterleft, 0.7853982F, -0.715585F, 0.3490659F);
Thrusterright = new ModelRenderer(this, 69, 30);
Thrusterright.addBox(-10.8F, 1.5F, -3.5F, 3, 3, 3);
Thrusterright.setRotationPoint(0F, 0F, 0F);
Thrusterright.setTextureSize(128, 64);
Thrusterright.mirror = true;
setRotation(Thrusterright, 0.7853982F, 0.715585F, -0.3490659F);
Fueltuberight = new ModelRenderer(this, 92, 23);
Fueltuberight.addBox(-11.2F, 2F, -3F, 8, 2, 2);
Fueltuberight.setRotationPoint(0F, 0F, 0F);
Fueltuberight.setTextureSize(128, 64);
Fueltuberight.mirror = true;
setRotation(Fueltuberight, 0.7853982F, 0.715585F, -0.3490659F);
Fueltubeleft = new ModelRenderer(this, 92, 23);
Fueltubeleft.addBox(3.2F, 2F, -3F, 8, 2, 2);
Fueltubeleft.setRotationPoint(0F, 0F, 0F);
Fueltubeleft.setTextureSize(128, 64);
Fueltubeleft.mirror = true;
setRotation(Fueltubeleft, 0.7853982F, -0.715585F, 0.3490659F);
Packmid = new ModelRenderer(this, 92, 34);
Packmid.addBox(-4F, 3.3F, 1.5F, 8, 1, 4);
Packmid.setRotationPoint(0F, 0F, 0F);
Packmid.setTextureSize(128, 64);
Packmid.mirror = true;
setRotation(Packmid, 0F, 0F, 0F);
Packcore = new ModelRenderer(this, 69, 2);
Packcore.addBox(-3.5F, 3F, 2F, 7, 1, 3);
Packcore.setRotationPoint(0F, 0F, 0F);
Packcore.setTextureSize(128, 64);
Packcore.mirror = true;
setRotation(Packcore, 0F, 0F, 0F);
WingsupportL = new ModelRenderer(this, 71, 55);
WingsupportL.addBox(3F, -1F, 2.2F, 7, 2, 2);
WingsupportL.setRotationPoint(0F, 0F, 0F);
WingsupportL.setTextureSize(128, 64);
WingsupportL.mirror = true;
setRotation(WingsupportL, 0F, 0F, 0.2792527F);
WingsupportR = new ModelRenderer(this, 71, 55);
WingsupportR.addBox(-10F, -1F, 2.2F, 7, 2, 2);
WingsupportR.setRotationPoint(0F, 0F, 0F);
WingsupportR.setTextureSize(128, 64);
WingsupportR.mirror = true;
setRotation(WingsupportR, 0F, 0F, -0.2792527F);
Packtoprear = new ModelRenderer(this, 106, 28);
Packtoprear.addBox(-4F, 1F, 1F, 8, 3, 3);
Packtoprear.setRotationPoint(0F, 0F, 0F);
Packtoprear.setTextureSize(128, 64);
Packtoprear.mirror = true;
setRotation(Packtoprear, 0.2094395F, 0F, 0F);
ExtendosupportL = new ModelRenderer(this, 94, 16);
ExtendosupportL.addBox(8F, -0.2F, 2.5F, 9, 1, 1);
ExtendosupportL.setRotationPoint(0F, 0F, 0F);
ExtendosupportL.setTextureSize(128, 64);
ExtendosupportL.mirror = true;
setRotation(ExtendosupportL, 0F, 0F, 0.2792527F);
ExtendosupportR = new ModelRenderer(this, 94, 16);
ExtendosupportR.addBox(-17F, -0.2F, 2.5F, 9, 1, 1);
ExtendosupportR.setRotationPoint(0F, 0F, 0F);
ExtendosupportR.setTextureSize(128, 64);
ExtendosupportR.mirror = true;
setRotation(ExtendosupportR, 0F, 0F, -0.2792527F);
WingbladeL = new ModelRenderer(this, 62, 5);
WingbladeL.addBox(3.3F, 1.1F, 3F, 14, 2, 0);
WingbladeL.setRotationPoint(0F, 0F, 0F);
WingbladeL.setTextureSize(128, 64);
WingbladeL.mirror = true;
setRotation(WingbladeL, 0F, 0F, 0.2094395F);
WingbladeR = new ModelRenderer(this, 62, 5);
WingbladeR.addBox(-17.3F, 1.1F, 3F, 14, 2, 0);
WingbladeR.setRotationPoint(0F, 0F, 0F);
WingbladeR.setTextureSize(128, 64);
WingbladeR.mirror = true;
setRotation(WingbladeR, 0F, 0F, -0.2094395F);
Packdoodad2 = new ModelRenderer(this, 116, 0);
Packdoodad2.addBox(1F, 0.5F, 4.2F, 2, 1, 1);
Packdoodad2.setRotationPoint(0F, 0F, 0F);
Packdoodad2.setTextureSize(128, 64);
Packdoodad2.mirror = true;
setRotation(Packdoodad2, 0.2094395F, 0F, 0F);
Packdoodad3 = new ModelRenderer(this, 116, 0);
Packdoodad3.addBox(1F, 2F, 4.2F, 2, 1, 1);
Packdoodad3.setRotationPoint(0F, 0F, 0F);
Packdoodad3.setTextureSize(128, 64);
Packdoodad3.mirror = true;
setRotation(Packdoodad3, 0.2094395F, 0F, 0F);
Bottomthruster = new ModelRenderer(this, 68, 26);
Bottomthruster.addBox(-3F, 8F, 2.333333F, 6, 1, 2);
Bottomthruster.setRotationPoint(0F, 0F, 0F);
Bottomthruster.setTextureSize(128, 64);
Bottomthruster.mirror = true;
setRotation(Bottomthruster, 0F, 0F, 0F);
head = new ModelRenderer(this, 0, 0);
head.addBox(-4F, -8F, -4F, 8, 8, 8);
head.setRotationPoint(0F, 0F, 0F);
head.setTextureSize(128, 64);
head.mirror = true;
setRotation(head, 0F, 0F, 0F);
body = new ModelRenderer(this, 0, 0);
body.addBox(-4F, 0F, -2F, 8, 12, 4);
body.setRotationPoint(0F, 0F, 0F);
body.setTextureSize(128, 64);
body.mirror = true;
setRotation(body, 0F, 0F, 0F);
rightarm = new ModelRenderer(this, 0, 0);
rightarm.addBox(-3F, -2F, -2F, 4, 12, 4);
rightarm.setRotationPoint(-5F, 2F, 0F);
rightarm.setTextureSize(128, 64);
rightarm.mirror = true;
setRotation(rightarm, 0F, 0F, 0F);
leftarm = new ModelRenderer(this, 0, 0);
leftarm.addBox(-1F, -2F, -2F, 4, 12, 4);
leftarm.setRotationPoint(5F, 2F, 0F);
leftarm.setTextureSize(128, 64);
leftarm.mirror = true;
setRotation(leftarm, 0F, 0F, 0F);
rightleg = new ModelRenderer(this, 0, 0);
rightleg.addBox(-2F, 0F, -2F, 4, 12, 4);
rightleg.setRotationPoint(-2F, 12F, 0F);
rightleg.setTextureSize(128, 64);
rightleg.mirror = true;
setRotation(rightleg, 0F, 0F, 0F);
leftleg = new ModelRenderer(this, 0, 0);
leftleg.addBox(-2F, 0F, -2F, 4, 12, 4);
leftleg.setRotationPoint(2F, 12F, 0F);
leftleg.setTextureSize(128, 64);
leftleg.mirror = true;
setRotation(leftleg, 0F, 0F, 0F);
}
public void render(float size)
{
Packtop.render(size);
Strapleft.render(size);
Strapright.render(size);
Packbottom.render(size);
Thrusterleft.render(size);
Thrusterright.render(size);
Fueltuberight.render(size);
Fueltubeleft.render(size);
Packmid.render(size);
Packcore.render(size);
WingsupportL.render(size);
WingsupportR.render(size);
Packtoprear.render(size);
ExtendosupportL.render(size);
ExtendosupportR.render(size);
WingbladeL.render(size);
WingbladeR.render(size);
Packdoodad2.render(size);
Packdoodad3.render(size);
Bottomthruster.render(size);
head.render(size);
body.render(size);
rightarm.render(size);
leftarm.render(size);
rightleg.render(size);
leftleg.render(size);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}

View file

@ -0,0 +1,92 @@
package mekanism.client.render;
import mekanism.client.model.ModelJetpack;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import org.lwjgl.opengl.GL11;
public class ModelCustomArmor extends ModelBiped
{
public static ModelCustomArmor INSTANCE = new ModelCustomArmor();
public ArmorModel modelType;
public void init(Entity entity, float f, float f1, float f2, float f3, float f4, float size)
{
resetPart(bipedHead, 0, 0, 0);
resetPart(bipedBody, 0, 0, 0);
resetPart(bipedRightArm, 5, 2, 0);
resetPart(bipedLeftArm, -5, 2, 0);
resetPart(bipedRightLeg, 2, 12, 0);
resetPart(bipedLeftLeg, -2, 12, 0);
bipedHeadwear.cubeList.clear();
bipedEars.cubeList.clear();
bipedCloak.cubeList.clear();
bipedHead.isHidden = false;
bipedBody.isHidden = false;
bipedRightArm.isHidden = false;
bipedLeftArm.isHidden = false;
bipedRightLeg.isHidden = false;
bipedLeftLeg.isHidden = false;
bipedHead.showModel = true;
bipedBody.showModel = true;
bipedRightArm.showModel = true;
bipedLeftArm.showModel = true;
bipedRightLeg.showModel = true;
bipedLeftLeg.showModel = true;
setRotationAngles(f, f1, f2, f3, f4, size, entity);
}
public void resetPart(ModelRenderer renderer, float x, float y, float z)
{
renderer.cubeList.clear();
ModelCustom model = new ModelCustom(this, renderer);
renderer.addChild(model);
setOffset(renderer, x, y, z);
}
public void setOffset(ModelRenderer renderer, float x, float y, float z)
{
renderer.offsetX = x;
renderer.offsetY = y;
renderer.offsetZ = z;
}
public class ModelCustom extends ModelRenderer
{
public ModelCustom(ModelCustomArmor base, ModelRenderer renderer)
{
super(base);
}
@Override
public void render(float size)
{
GL11.glScalef(size, size, size);
if (ModelCustomArmor.this.modelType == ArmorModel.JETPACK)
{
System.out.println("yes");
}
}
}
public static enum ArmorModel
{
JETPACK(1);
public int armorSlot;
public static ModelJetpack jetpackModel = new ModelJetpack();
private ArmorModel(int i)
{
armorSlot = i;
}
}
}

View file

@ -53,6 +53,7 @@ import mekanism.common.item.ItemDust;
import mekanism.common.item.ItemElectricBow;
import mekanism.common.item.ItemEnergized;
import mekanism.common.item.ItemIngot;
import mekanism.common.item.ItemJetpack;
import mekanism.common.item.ItemMachineUpgrade;
import mekanism.common.item.ItemMekanism;
import mekanism.common.item.ItemNetworkReader;
@ -209,6 +210,7 @@ public class Mekanism
public static Item WalkieTalkie;
public static Item ItemProxy;
public static Item PartTransmitter;
public static Item Jetpack;
//Blocks
public static Block BasicBlock;
@ -569,7 +571,7 @@ public class Mekanism
DirtyDust = new ItemDirtyDust(configuration.getItem("DirtyDust", 11220).getInt()-256);
Configurator = new ItemConfigurator(configuration.getItem("Configurator", 11221).getInt()).setUnlocalizedName("Configurator");
NetworkReader = new ItemNetworkReader(configuration.getItem("NetworkReader", 11222).getInt()).setUnlocalizedName("NetworkReader");
//OPEN 11223
Jetpack = new ItemJetpack(configuration.getItem("Jetpack", 11223).getInt()).setUnlocalizedName("Jetpack");
WalkieTalkie = new ItemWalkieTalkie(configuration.getItem("WalkieTalkie", 11224).getInt()).setUnlocalizedName("WalkieTalkie");
PartTransmitter = new ItemPartTransmitter(configuration.getItem("MultipartTransmitter", 11223).getInt()).setUnlocalizedName("MultipartTransmitter");
configuration.save();
@ -596,6 +598,7 @@ public class Mekanism
GameRegistry.registerItem(Configurator, "Configurator");
GameRegistry.registerItem(NetworkReader, "NetworkReader");
GameRegistry.registerItem(WalkieTalkie, "WalkieTalkie");
GameRegistry.registerItem(Jetpack, "Jetpack");
}
/**
@ -1099,6 +1102,8 @@ public class Mekanism
logger.setParent(FMLLog.getLogger());
File config = event.getSuggestedConfigurationFile();
RecipeLoader.init(event.getModConfigurationDirectory());
//Set the mod's configuration
configuration = new Configuration(config);

View file

@ -0,0 +1,43 @@
package mekanism.common;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public final class RecipeLoader
{
public static File recipeFile;
public static void init(File dir)
{
recipeFile = new File(dir, "MekanismRecipes.txt");
/*if(!recipeFile.exists())
{
try {
recipeFile.createNewFile();
writeExamples();
} catch(Exception e) {}
}*/
}
public static void writeExamples()
{
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(recipeFile));
write(writer, "Examples:");
write(writer, "crafting:{5, 1, 6},{XXX,XOX,XXX},{X,{");
writer.flush();
writer.close();
} catch(Exception e) {}
}
public static void write(BufferedWriter writer, String s) throws IOException
{
writer.append(s);
writer.newLine();
}
}

View file

@ -0,0 +1,35 @@
package mekanism.common.item;
import mekanism.client.render.ModelCustomArmor;
import mekanism.client.render.ModelCustomArmor.ArmorModel;
import mekanism.common.Mekanism;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class ItemJetpack extends ItemMekanism
{
public ItemJetpack(int id)
{
super(id);
setCreativeTab(Mekanism.tabMekanism);
}
@Override
public boolean isValidArmor(ItemStack stack, int armorType, Entity entity)
{
return armorType == 1;
}
@Override
@SideOnly(Side.CLIENT)
public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot)
{
ModelCustomArmor model = ModelCustomArmor.INSTANCE;
model.modelType = ArmorModel.JETPACK;
return model;
}
}

Binary file not shown.

After

(image error) Size: 5.7 KiB