Энтити ТНТ спавнится и происходит взрыв, но почему то энтити не рендерится.
Пробовал делать свой рендер - результат тот же.Полагаю что дело в прокси, так как первый раз с ним имею дело
Главный файл
Прокси
Клиент прокси
Энтити динамита
Пробовал делать свой рендер - результат тот же.Полагаю что дело в прокси, так как первый раз с ним имею дело
Главный файл
main.java:
@Mod(modid = main.MODID, name = main.MODNAME, version = main.VERSION)
public class main {
public static Block explosive_barrel;
public static final CreativeTabs CTab = new CreativeTabs("CTab")
{
public Item getTabIconItem()
{
return Item.getItemFromBlock(Blocks.tnt);
}
};
@SidedProxy(
modId = main.MODID,
clientSide = "com.evil.sqw.proxy.ClientProxy",
serverSide = "com.evil.sqw.proxy.CommonProxy"
)
public static CommonProxy proxy;
public static final String MODID = "ModSqw";
public static final String MODNAME = "sqw";
public static final String VERSION = "0.0.1";
@EventHandler
public void PreInit(FMLPreInitializationEvent event)
{
explosive_barrel = new ExplosiveBarrelClass(Material.tnt,"explosive_barrel","explosive_barrel",25F,"axe",3,10F,null,Block.soundTypeLadder);
proxy.preInit(event);
}
@EventHandler
public void init(FMLInitializationEvent event)
{
EntityRegistry.registerGlobalEntityID(BoomEntity.class, "BoomEntity", EntityRegistry.findGlobalUniqueEntityId());
EntityRegistry.registerModEntity(BoomEntity.class, "BoomEntity", 51, this, 256, 1, false);
proxy.init(event);
}
@EventHandler
public void PostInit(FMLPostInitializationEvent event)
{
MinecraftForge.EVENT_BUS.register(new ExplosionEventSubcribe());
proxy.postInit(event);
}
}
Прокси
CommonProxy.java:
public class CommonProxy
{
public void RegRen()
{
}
public void preInit(FMLPreInitializationEvent event)
{
}
public void init(FMLInitializationEvent event)
{
}
public void postInit(FMLPostInitializationEvent event) {
}
}
Клиент прокси
ClientProxy.java:
public class ClientProxy extends CommonProxy {
public void RegRen()
{
RenderingRegistry.registerEntityRenderingHandler(BoomEntity.class, new RenderTNTPrimed());
}
@EventHandler
public void preInit(FMLPreInitializationEvent e) {
super.preInit(e);
}
@EventHandler
public void Init(FMLInitializationEvent e) {
super.init(e);
}
@EventHandler
public void postInit(FMLPostInitializationEvent e) {
super.postInit(e);
}
}
Энтити динамита
BoomEntity.java:
public class BoomEntity extends EntityTNTPrimed {
private float strength;
private boolean IsFlaming;
private boolean IsSmoking;
public BoomEntity(World world)
{
super(world);
this.preventEntitySpawning = true;
this.setSize(0.98F, 0.98F);
this.yOffset = this.height / 2.0F;
}
public BoomEntity(World p_i1730_1_, double p_i1730_2_, double p_i1730_4_, double p_i1730_6_,
EntityLivingBase p_i1730_8_, float strength_input, boolean IsFlaming, boolean IsSmoking) {
super(p_i1730_1_, p_i1730_2_, p_i1730_4_, p_i1730_6_, p_i1730_8_);
this.strength = strength_input;
this.IsFlaming = IsFlaming;
this.IsSmoking = IsSmoking;
// TODO Auto-generated constructor stub
}
public void onUpdate()
{
this.prevPosX = this.posX;
this.prevPosY = this.posY;
this.prevPosZ = this.posZ;
this.motionY -= 0.03999999910593033D;
this.moveEntity(this.motionX, this.motionY, this.motionZ);
this.motionX *= 0.9800000190734863D;
this.motionY *= 0.9800000190734863D;
this.motionZ *= 0.9800000190734863D;
if (this.onGround)
{
this.motionX *= 0.699999988079071D;
this.motionZ *= 0.699999988079071D;
this.motionY *= -0.5D;
}
if (this.fuse-- <= 0)
{
this.setDead();
if (!this.worldObj.isRemote)
{
this.explode();
}
}
else
{
this.worldObj.spawnParticle("smoke", this.posX, this.posY + 0.5D, this.posZ, 0.0D, 0.0D, 0.0D);
}
}
private void explode()
{
float f = strength;
ExplosionClass explosion = new ExplosionClass(this.worldObj,(Entity) this.getTntPlacedBy(), this.prevPosX,this.prevPosY,this.prevPosZ, f,(int) f);//(this.worldObj,(Entity) this.getTntPlacedBy(), this.prevPosX,this.prevPosY,this.prevPosZ, f,(int) f);
explosion.isFlaming = IsFlaming;//false
explosion.isSmoking = IsSmoking;//true
explosion.Listen();
explosion.doExplosionA();
explosion.doExplosionB(true);
}
}