Коктейль молотова

Версия Minecraft
1.6.4
18
0
Есть ли у вас код на коктейль молотова? Хочу сделать гранату которая при приземлении будет разжигать определённую территорию
 
7,099
324
1,510
Кровать в незере и энде взрывается нужным образом
 
243
28
202
 NetCS, надеюсь ты знаешь как создать и спаунить entity. Для эффекта воспламенения тебе нужен метод newExplosion. Добавь его в метод onImpact твоего entity, наследованного от EntityThrowable. Последние два параметра метода newExplosion отвечают за спаун блоков пламени и эффекта дыма соответственно, с остальными разберёшься.
 Сам взрыв разрушает блоки, поэтому нужно сделать некоторые изменения. За разрушение блоков и выпадение их как дропа отвечает вот эта часть метода doExplosionB в классе Explosion.

Код:
               if (l > 0) {

                    Block block = Block.blocksList[l];

                    if (block.canDropFromExplosion(this)) {

                        block.dropBlockAsItemWithChance(this.worldObj, i, j, k, this.worldObj.getBlockMetadata(i, j, k), 1.0F / this.explosionSize, 0);
                    }

                    block.onBlockExploded(this.worldObj, i, j, k, this);
                }
От неё нужно избавится что бы они не рушились. Можно создать свой класс и копировать туда содержимое класса Explosion и просто вырезать эту часть. Так при взрыве будут спаунится только блоки огня. Кроме того в своем классе можно поменять звук взрыва и прочее, сделав эффект более похожим на то что тебе нужно.
 В классе твоего entity тебе нужно будет создать свой метод для взрыва со ссылкой на твой Explosion класс.
Типо того:
Код:
   public ExtendedExplosion spawnFlame(Entity par1Entity, double par2, double par4, double par6, float par8, boolean par9, boolean par10) {
         
        ExtendedExplosion explosion = new ExtendedExplosion(this.worldObj, par1Entity, par2, par4, par6, par8);
        explosion.isFlaming = par9;
        explosion.isSmoking = par10;
        explosion.doExplosionA();
        explosion.doExplosionB(true);
        return explosion;
    }
 
 Надеюсь это окажется полезным.
 
Сверху