-- Minecraft et les sons --
[Sommaire]
1 - Les avantages d'AudioMod à vanilla
2 - Les OGG
3 - La pratique ; installer un son
[Prérequis]
- Apprendre un minimum le Java -
- MCP ModLoader, Forge, ou Vanilla -
- Eclipse ou Notepad++ -
-------------------------------------------------------------------------------------------------------------0 ) Introduction
Ce tuto. consiste à installer un sons, une musique (En rédaction), sans AudioMod,
Pour forge universal en serveur : Attention, pour une version serveur(minecraft_server.jar), il faut supprimer toute les functions qui sont en rapport avec Minecraft.java donc, inutile de mettre les functions présentes dans ce tuto pour votre version serveur, merci de l'utiliser pour votre version client !
-------------------------------------------------------------------------------------------------------------
1 ) Les avantages de l'AudioMod à Vanilla
Pas besoin de l'AudioMod pour ce tuto, la version sans AudioMod permet d'installer des musiques, des sons, vraiment facilement.
-------------------------------------------------------------------------------------------------------------
2 ) Les OGG
Les .OGG sont une extension particulière à codecs multimédias ouvert, et en java, c'est l'extension la plus utilisé.
Nous allons utiliser, nous, les .OGG Vorbis, car le lecteur audio de minecraft a des codecs associés, c'est grâce au PaulsCode, le moteur son OGG de Minecraft.
Bon, passons à une partie bien plus intéréssante !
-------------------------------------------------------------------------------------------------------------
3 ) La pratique ; installer un son
Maintenant, installons un son !
1 - Une classe et une function particulièrement... utile !
La classe s'appelle, Minecraft.java, et nous devons obligatoirement l'utiliser ! Donc dans votre classe de mod, selon ModLoader ou Forge, (sauf Vanilla (Je cherche encore), déclarer ceci :
Code:
private Minecraft mc = Minecraft.getMinecraft();
-- La minute explication --
Ce code permet de récupérer l'instance du jeu ; en gros, récupéré la thread minecraft, actuellement ouvert.
2 - Maintenant, installons le son !
Nous allons crée une function, loadSound() qui veut dire charger les sons, ce sera une classe privé pour moi, bref.
Code:
private void loadSound() {
}
Maintenant, importons le son, comme ceci :
Code:
private void loadSound {
mc.installResources("sound3/tuto/son.ogg", new File(mc.getDataDir() + "tuto/son.ogg");
}
-- Le quart d'heure d'explication --
Décapitons ce bout "sound3/tuto/son.ogg" :
Donc ici, ce n'est pas le chemin de votre son .OGG mais bien la déclaration et préciser à minecraft ce qu'est ce fichier .ogg, sa ce découpe en 3 partie :
[sound3/newsound]/[nom].[extension]
Voilà, j'utilise moi sound3, car ce choix précise les sounds, mais newsound, je ne sais pas trop.Pour l'extension j'ulise le .OGG, je fais bien.
Maintenant on va en crée un autre, qui va, normalement vous faire tout comprendre :
"sound3/tuto/son.ogg"
J'utilise le sound3 et le son a comme nom : "tuto.son", car oui, minercraft remplaçe les / par des . qui seront jouables grâce à ce nom.Ensuite, je précise que ce son est en extention .OGG, donc appel le Codec PaulsCode.
Vous pouvez aussi faire autant de slash après le nom, ex : "sound3/lk/ok/lo/ml.ogg", il sera jouable dans le jeu, avec le nom suivant : "lk.ok.lo.mk".
-- La minute explication ; le new File() --
Ce new File(...) précise le chemin de votre son. Par exemple, je veut que mon fichier .OGG (donc le son) sois dans le .minecraft, simple je vais utiliser ceci :
Code:
new File(mc.getDataDir());
Ensuite, je veut qu'il sois placé dans un dossier qui s'appelle "tuto" et que mon fichier s'appelle "son.ogg" :
Code:
new File(mc.getDataDir() + "tuto/son.ogg);
Et voilà, normalement, le son est correctement installé, et donc, maintenant, nous allons voir comment jouer le son !
3 - Jouons le son !
Maintenant que le son est OK, nous allons le jouer.
Il suffit juste d'insérer cette portions de code dans l'event choisis :
Code:
// Lorsque que une variable type World est présente :
world.playSoundAtEntity(Minecraft.getMinecraft().thePlayer, "tuto.son", 50F, 50F);
// Lorsque que une variable type World n'est pas présente :
Minecraft.getMinecraft().theWorld.playSoundAtEntity(Minecraft.getMinecraft()thePlayer, "tuto.son", 50F, 50F);
Voilà. Passons à la minute d'explication :
-- La minute d'explication --
Dans la function playSoundAtEntity, il y a trois parties : Ou jouer le son ?, Dans quelle monde ?, Le volume, Le pitch.
Dafuck le Pitch ?
D'après mes connaissances musicales, le Pitch augmente les aigu et le Tempo du son si on l'augmente plus de 50, baisse les aigu et augmente les graves et le tempo en le diminuant en-dessous de 50.
Le Pitch est sur une échelle de 0 à 100 ;
- De 0 à 50 : Un pitch grave, un tempo (très) lent.
- 50 : Le tempo et les aigu, grave, et medium normale régulé à 120 pour le tempo en Ternaire.
- De 50 à 100 : Un pitch aigu, un tempo (très) rapide, grave basse, aigu haute.
En conclusion, il est donc important pour votre son d'être sur un Pitch de 50, pour pas déformer votre son.
Pour la musique, Multi cherche encore, Mais en tout cas, merci d'avoir lu