- 388
- 1
Здравствуйте.
На основе урока про бластер сделай свой мод, но модель "пули" почему-то не видно.
Помогите найти ошибку.
Вот мои коды:
mod_Framework.java
Entity1.java
Entity1Render.java
BlasterModel.java
На основе урока про бластер сделай свой мод, но модель "пули" почему-то не видно.
Помогите найти ошибку.
Вот мои коды:
mod_Framework.java
Код:
package mods.mod_framework;
import java.util.Map;
import mods.mod_framework.particles.FX1;
import net.minecraft.block.*;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.creativetab.*;
import net.minecraft.item.*;
import net.minecraft.item.Item;
import net.minecraft.block.material.*;
import net.minecraftforge.common.ForgeHooks;
import net.minecraftforge.common.MinecraftForge;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.Mod.PostInit;
import cpw.mods.fml.common.Mod.PreInit;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.EntityRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import net.minecraft.src.*;
import cpw.mods.fml.common.*;
import cpw.mods.fml.common.Mod.*;
import cpw.mods.fml.common.event.*;
import net.minecraftforge.common.Configuration;
@Mod(modid="framework", name="framework", version="[#684]")
@NetworkMod(clientSideRequired=true, serverSideRequired=false)
public class mod_Framework
{
public Item itemFramework = null;
private int idFramework;
@Instance("mod_Framework")
public static mod_Framework instance;
@SidedProxy(clientSide="mods.mod_framework.client.ClientProxy",
serverSide="mods.mod_framework.CommonProxy")
public static CommonProxy proxy;
@PreInit
public void preInit(FMLPreInitializationEvent event) {
Configuration config = new Configuration(event.getSuggestedConfigurationFile());
config.load();
idFramework = config.getItem("items","IdFramework", 3844).getInt();
config.save();
}
@Init
public void load(FMLInitializationEvent event) {
itemFramework = new ItemFramework(idFramework,"Framework test");
// BlockDispenser.dispenseBehaviorRegistry.putObject(itemFramework, new FW1Behavior());
LanguageRegistry.addName(itemFramework, "Framework test");
RenderingRegistry.registerEntityRenderingHandler(Entity1.class, new Entity1Renderer());
}
}
Код:
package mods.mod_framework;
import mods.mod_framework.particles.FX1;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.monster.EntityBlaze;
import net.minecraft.entity.projectile.EntityThrowable;
import net.minecraft.util.DamageSource;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
public class Entity1 extends EntityThrowable
{
int Max = 15;
public float arrowShake;
public Entity1(World par1World)
{
super(par1World);
}
public Entity1(World par1World, EntityLivingBase par2EntityLivingBase)
{
super(par1World, par2EntityLivingBase);
}
public Entity1(World par1World, double par2, double par4, double par6)
{
super(par1World, par2, par4, par6);
}
/**
* Called when this EntityThrowable hits a block or entity.
*/@Override
protected void onImpact(MovingObjectPosition par1MovingObjectPosition)
{
this.setDead();
if (this.worldObj.isRemote){
for (int i=0; i<30; i++){
//Minecraft.getMinecraft().effectRenderer.addEffect(new FX1(this.worldObj,this.posX,this.posY,this.posZ,0,1,0,0,1.0F,0,1));
Minecraft.getMinecraft().effectRenderer.addEffect(new FX1(this.worldObj,this.posX,this.posY,this.posZ,
0,1,1, 0,1.0F,1.0F,1));
Minecraft.getMinecraft().effectRenderer.addEffect(new FX1(this.worldObj,this.posX,this.posY,this.posZ,
0,-1,-1, 1.0F,0,1.0F, 1));
}
}
return;
}
@Override
public void onUpdate()
{
super.onUpdate();
if (this.ticksExisted>this.Max){
this.setDead();
if (this.worldObj.isRemote){
for (int i=0; i<30; i++){
//Minecraft.getMinecraft().effectRenderer.addEffect(new FX1(this.worldObj,this.posX,this.posY,this.posZ,0,1,0,0,1.0F,0,1));
Minecraft.getMinecraft().effectRenderer.addEffect(new FX1(this.worldObj,this.posX,this.posY,this.posZ,
0,1,1, 0,1.0F,1.0F,1));
Minecraft.getMinecraft().effectRenderer.addEffect(new FX1(this.worldObj,this.posX,this.posY,this.posZ,
0,-1,-1, 1.0F,0,1.0F, 1));
}
}
return;
}
}
}
Код:
package mods.mod_framework;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.util.MathHelper;
import net.minecraft.util.ResourceLocation;
@SideOnly(Side.CLIENT)
public class Entity1Renderer extends Render
{
private final BlasterModel bomb = new BlasterModel();
public void func_82399_a(Entity1 entity, double par2, double par4, double par6, double par8, float par9)
{
GL11.glPushMatrix();
GL11.glTranslatef((float)par2, (float)par4, (float)par6);
GL11.glRotatef(entity.prevRotationYaw+ (entity.rotationYaw - entity.prevRotationYaw)* par9 - 100.0f,
0.0f,1.0f,0.0f);
GL11.glRotatef(entity.prevRotationPitch + (entity.rotationPitch -entity.prevRotationPitch) * par9, 100.0f,0.0f,1.0f);
GL11.glScalef(-10.0F, -10.0F, 10.0F);
// Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(ModInfo.modID, "textures/items/bomb.png"));
bomb.render(entity, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0625f);
GL11.glPopMatrix();
}
@Override
protected ResourceLocation getEntityTexture(Entity entity)
{
return null;
}
@Override
public void doRender(Entity par1Entity, double par2, double par4, double par6, float par8, float par9)
{
this.func_82399_a((Entity1)par1Entity, par2, par4, par6, par8, par9);
}
}
Код:
package mods.mod_framework;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
public class BlasterModel extends ModelBase
{
ModelRenderer Shape1;
ModelRenderer Shape2;
ModelRenderer Shape3;
ModelRenderer Shape4;
ModelRenderer Shape5;
ModelRenderer Shape6;
ModelRenderer Shape7;
public BlasterModel()
{
textureWidth = 64;
textureHeight = 32;
Shape1 = new ModelRenderer(this, 0, 0);
Shape1.addBox(0F, 0F, 0F, 3, 1, 8);
Shape1.setRotationPoint(-1F, 0F, -5F);
Shape1.setTextureSize(64, 32);
Shape1.mirror = true;
setRotation(Shape1, 0F, 0F, 0F);
Shape2 = new ModelRenderer(this, 0, 0);
Shape2.addBox(0F, 0F, 0F, 1, 1, 8);
Shape2.setRotationPoint(1F, -1F, -5F);
Shape2.setTextureSize(64, 32);
Shape2.mirror = true;
setRotation(Shape2, 0F, 0F, 0F);
Shape3 = new ModelRenderer(this, 0, 0);
Shape3.addBox(0F, 0F, 0F, 1, 1, 8);
Shape3.setRotationPoint(-1F, -1F, -5F);
Shape3.setTextureSize(64, 32);
Shape3.mirror = true;
setRotation(Shape3, 0F, 0F, 0F);
Shape4 = new ModelRenderer(this, 0, 0);
Shape4.addBox(0F, 0F, 0F, 3, 1, 8);
Shape4.setRotationPoint(-1F, -2F, -5F);
Shape4.setTextureSize(64, 32);
Shape4.mirror = true;
setRotation(Shape4, 0F, 0F, 0F);
Shape5 = new ModelRenderer(this, 0, 0);
Shape5.addBox(0F, 0F, 0F, 1, 1, 1);
Shape5.setRotationPoint(0F, -1F, 3F);
Shape5.setTextureSize(64, 32);
Shape5.mirror = true;
setRotation(Shape5, 0F, 0F, 0F);
Shape6 = new ModelRenderer(this, 0, 0);
Shape6.addBox(0F, 0F, 0F, 1, 1, 1);
Shape6.setRotationPoint(0F, -2F, 4F);
Shape6.setTextureSize(64, 32);
Shape6.mirror = true;
setRotation(Shape6, 0F, 0F, 0F);
Shape7 = new ModelRenderer(this, 0, 28);
Shape7.addBox(0F, 0F, 0F, 1, 3, 1);
Shape7.setRotationPoint(0F, 0F, 4F);
Shape7.setTextureSize(64, 32);
Shape7.mirror = true;
setRotation(Shape7, 0.2230717F, 0F, 0F);
}
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, boolean isFirstPirson)
{
super.render(entity, f, f1, f2, f3, f4, f5);
setRotationAngles(f, f1, f2, f3, f4, f5, entity);
Shape1.render(f5);
Shape2.render(f5);
Shape3.render(f5);
Shape4.render(f5);
Shape5.render(f5);
Shape6.render(f5);
Shape7.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity ent)
{
super.setRotationAngles(f, f1, f2, f3, f4, f5, ent);
}
}