Счетчик Гейгера

Версия Minecraft
1.7.10
54
0
Здравствуйте форумчане, подскажите как реализовать:
Когда например подходишь к определенному блоку (15 блоков от него) и у тебя в руках итем, то включается звук (щелчок как от Гейгера) loudclick.ogg.
 
5,018
47
783
ой да, загугли "счетчик гейгера трещание" и переформатируй аудаситёй в ogg
 
5,018
47
783
да-да, было бы полезно. А вообще, пожалуйста, если не трудно, запили темку в учебнике про звуки для 1.7.10
 
2,505
81
397
Учебник создавать лень. Напишу здесь.

ЗАГРУЗКА СВОЕГО ЗВУКА в 1.7.10

1. В пакете assets.<modid> создаем пакет sounds (это важно!) и кладем туда звук(и) в формате ogg. Насчет других форматов не в курсе.
2. В пакете assets.<modid> создаем файл sounds.json. В нем будут описываться все звуки.
Код:
{
  "my_new_sound1": {
     "category": "player",
     "sounds": ["sound_file_name1"]
  }

  "my_new_sound2": {
     "category": "player",
     "sounds": ["sound_file_name2"]
  }
}
"my_new_sound1" - имя звука, по которому нужно обращаться в игре
"sounds": ["sound_file_name1"] - имя файла. ".ogg" тут указывать не нужно.
"category": "player" - не знаю для чего это. Не было необходимости разбираться. Откуда-то скопипастил.

3. На этом все. Звук будет сам зареган и его можно будет юзать.

Я для себя написал примерно такой метод.
Код:
public static PositionedSoundRecord playStreaming(ResourceLocation music, float x, float y, float z)
{
    PositionedSoundRecord sound = PositionedSoundRecord.func_147675_a(music, x, y, z);
    Minecraft.getMinecraft().getSoundHandler().playSound(sound);
    return sound;
}
PositionedSoundRecord возвращается для того, чтобы звук в любой момент можно было остановить. Запускать, как ни странно, можно только с клиентской стороны.
Запускать примерно так: playStreaming(new ResourceLocation(Core.MODID, "my_new_sound1"), x, y, z).
 
5,018
47
783
исправь опечатку - assents на assets, а то скопируют ведь...


и еще,в имени звука нужно расширение писать?
 
7,099
324
1,510
Да, как компас
 
769
1
42
Ivasik написал(а):
Liahim написал(а):
Liahim написал(а):
Я бы в тик эвенте игрока проверял наличие подобных блоков в радиусе... И лучше это делать не каждый тик, а раз в секунду, например.
С другой стороны, если это у тебя тайл, то можно проверять через него по списку игроков выяснять, кто из них находится в радиусе.


Если что, то 20 тиков это 1 секунда. Здесь был @Ivasik :p



Шо ж ты, Ivasik, делаешь-то?



Эт не я, ты сам написал XD Я не одмен, я не умею писать в комменты, и баны давать.


А заводной апельсин ты просто так, да?)
 
5,018
47
783
Я пока вижу лишь один вариант. - Напихать туда числа моделью и рендерить какую либо из них от условий. А как еще можно отрисовывать на самом итеме?
на самом деле у меня по другому будет, глянь тему про space advanced
 
1,007
36
206
Maxik001 написал(а):
Я пока вижу лишь один вариант. - Напихать туда числа моделью и рендерить какую либо из них от условий. А как еще можно отрисовывать на самом итеме?
на самом деле у меня по другому будет, глянь тему про space advanced

Создать несколько текстур с цифрами и менять их
 
5,018
47
783
На 1.8 это небось легко... Я тебя по айпи вычислю и украду код!!! 1111!!1 :)
А если серьезно, ты через что делал? Через GL11 ?
 
Сверху