Звук ходьбы (баг или нет) 1.7.10

4,167
68
693
Народ, вопрос на 5 минут )))

Пишу у блока
Код:
super(Material.rock);
this.setStepSound(soundTypeGravel);
Предполагая, что разбиваться он будет как камень, а ходьба по нему звучать как ходьба по гравию.

В итоге получаю всё как у гравия... И звук разбивания и звук установки и ходьбу...
В чём может быть проблема?

Спасибо за ответы )
 
Метод "setStepSound(...)" сетить переменную "Block.SoundType", в этом "SoundType" храниться звуки: копания блока, хождения по блоку и поставленного блока.
Чтобы звук от материала зависел, ещё не нашёл.
 
А никак, если правильно помню, звук-то один.
 
Твой звук для блока, примерно таким:
Код:
public static final Block.SoundType sound_type_your = new Block.SoundType("stone", 1.0F, 1.0F) {
    public String getStepResourcePath() {return "step.gravel";}
};

Твой Материал для блока, примерно таким:
Код:
public static final Material ore_magic = new MaterialOreMagic();
Код:
public class MaterialOreMagic extends Material {

    public MaterialOreMagic() {
        super(MapColor.stoneColor);
    }

}
 
Так, что-то не фурычит...

Звук, написанный тобой, нужно пихать в блок или в материал?

Как я понял, создаю материал, в него пихаю звук, который всё наследует от камня и только ходьбу берёт с гравия... как ты и написал.

Получилось так:
Код:
public class SaltLakeMat extends Material {
    
    public SaltLakeMat() {
        super(MapColor.stoneColor);
    }
    
    public static final Block.SoundType soundTypeSalt = new Block.SoundType("stone", 1.0F, 1.0F)
    {
        public String getStepResourcePath()
            {
            return "step.gravel";
            }
    };
}


Затем этот материал пихаю в блок:
Код:
super(SaltMod.saltLakeMat);

Почему-то мне кажется, что я всё напутал )))
 
Нужно код этого звука куда-нибудь положить. У меня оно находиться в классе с переменными блоков. Блоку присваешь звук, типа так:
Код:
block_sail = new BlockSail().setStepSound(soundTypeSalt);
Ты спросил: "А как материалы делают?" - я показал.
 
Так, ты меня ещё больше запутал )
Код звука? Переменные? Что это? )))

Можно как-нибудь по пунктам? С материалом у меня всё правильно? В него пихаю звук, а сам материал в блок? Или можно обойтись без кастомного материала?

Эх...
 
Примерно:
Код:
public class YouMod {
    
    public static final Block.SoundType soundTypeSalt = new Block.SoundType("stone", 1.0F, 1.0F)
    {
        public String getStepResourcePath()
            {
            return "step.gravel";
            }
    };
    public static Block block_sail;

    @Mod.EventHandler
    public void preInit(FMLPreInitializationEvent event) {
block_sail = new BlockSail().setStepSound(soundTypeSalt);
GameRegistry.registerBlock(block_sail, "block_sail");
    }
[merge_posts_bbcode]Добавлено: 23.06.2015 01:41:20[/merge_posts_bbcode]

Liahim написал(а):
Или можно обойтись без кастомного материала?
Можно обойтись без кастомного материала.
 
Тема открыта.
 
Спасибо )))

Народ, помогите. Всё-таки не всё работает как надо.
Вместе со звуком ходьбы подтянулся и звук добычи блока.

А нужно чтобы все звуки кроме ходьбы были как у камня и только ходьба по блоку как у гравия.
На данный момент как у камня звучат только установка и непосредственное разрушение блока в креативе.

Пока код такой (в главном классе):
Код:
public static final Block.SoundType soundTypeSalt = new Block.SoundType("stone", 1.0F, 1.0F)
    {public String getStepResourcePath(){return "step.gravel";}};

@EventHandler
    public void init(FMLInitializationEvent event)
    {    
        saltLake = new SaltLake().setStepSound(soundTypeSalt);
        GameRegistry.registerBlock(saltLake, "saltLake");
    }

Есть у кого-нибудь идеи?
Спасибо )
[merge_posts_bbcode]Добавлено: 12.08.2015 11:19:02[/merge_posts_bbcode]

Эх бяда (

Инфа с wiki:
step.gravel: A mob walks on a block classified as "gravel", Dirt/Grass/Mycelium is tilled with a Hoe (creating Farmland), or a player is breaking a block classified as "gravel" (during the cracking animation).

То есть подцепляя звук ходьбы, автоматически цепляется и добыча (
А за установку и разрушение, в моём случае, отвечает файл big.stone.
Как же быть? Это нужно как-то пути переписывать или возможно просто прописать это у новом звуковом типе?

Идея: А может быть прописать это в самом блоке? Типа, пока игрок лупит по нему чем-нибудь, проигрывать звук добычи камня? С этим, думаю, разберусь, но вот как в этом случае заглушить естественный звук добычи блока?
 
Назад
Сверху