Je suis content d'avoir bien répondu à tes demandes mais le seul soucis c'est que je ne connais la PI donc je ne serais pas répondre à tes questions à ce propos ...
ModPE et Block launcher sont deux api totalement différentes et qui ne sont pas du même auteur. Oui, on peut les considérer comme des api même si ce n'est pas forcément officiel.
Pour leurs fonctionnement, je ne sais pas exactement mais je vais demander à un des auteurs, même si je sais que j'ai 0% de chance d'obtenir une réponse, en tout cas je te tiendrais au courant.
Il n'y à pas de différence entre une api officielle ou non, du moment où elles ont le même principe.
Un exemple de mes scripts : Un mod pour rajouter des commandes (en développement)
var mobID;
var img;
function procCmd(cmd)
{
var p = cmd.split(" ");
if(p[0] == 'help')
{
clientMessage("Mod UTILITAIRE français par Black_Teen");
}
//Gamemode
if(p[0] == 'gamemode')
{
if(p[1] == '0')
{
Level.setGameMode(2);
}
if(p[1] == '1')
{
Level.setGameMode(1);
}
}
//Spawnmob
if(p[0] == 'spawnmob')
{
if(p[1] == 'pigzombie')
{
mobID = 36;
img = "mob/pigzombie.png";
}
if(p[1] == 'spider')
{
mobID = 35;
img = "mob/spider.png";
}
if(p[1] == 'skeleton')
{
mobID = 34;
img = "mob/skeleton.png";
}
if(p[1] == 'creeper')
{
mobID = 33;
img = "mob/creeper.png";
}
if(p[1] == 'zombie')
{
mobID = 32;
img = "mob/zombie.png";
}
if(p[1] == 'chicken')
{
mobID = 10;
img = "mob/chicken.png";
}
if(p[1] == 'cow')
{
mobID = 11;
img = "mob/cow.png";
}
if(p[1] == 'pig')
{
mobID = 12;
img = "mob/pig.png";
}
if(p[1] == 'sheep')
{
mobID = 13;
img = "mob/sheep.png";
}
var mob = Level.spawnMob(getPlayerX()+1, getPlayerY()+1, getPlayerZ(), +mobID, "+img+");
}
//Give
if(p[0] == 'give')
{
addItemInventory(+p[1], +p[2]);
}
}
Voilà donc en détail :
var mobID;
var img;
Ces commandes vont sauvegarder des données pour plus tard
function procCmd(cmd)
{
var p = cmd.split(" ");
if(p[0] == 'help')
{
"Function" va dire de faire une fonction, "procCmd(cmd)" va être la fonction lue, ici ça va lire cmd qui est un invite de commande ... On va s'en servir pour dire que ce qui va suivre va être du à une commande. "{" appellé braces va ouvrir la fonction ... "var p" va créer la donné p qui sera cms.split qui est une ligne de commande qui sera tapé dans minecraft pe
if(p[0] == 'help') = si le 1er mot (0) est égal à help = si on écrit help dans minecraft et qu'on appuis qur entrer ça va activer une commande "{" . Il faut savoir que chaques commande devra avoir un "/" devant elle.
L'action sera :
clientMessage("Mod UTILITAIRE français par Black_Teen");
}
Ecrire dans le tchat Mod UTIL..... et la commande sera fermée par le "}".
Pour la commande suivante, pas besoin de retaper la fonction cmd car on à laisser le "{" ouvert =D
Après je te resume pour les fonctions suivantes : le gamemode va fonctionner de tel sorte : si le joueur tape gamemode une action va se créer et si à la suite de gamemode il y à 1 ça va faire telle action. Si il y à 0 ça va faire telle action.
Pour le spawn des mobs : si on tape spawnmob puis le num de tel mob, le mod va transformer le nom en chiffre qui va pouvoir être lu. Le chiffre va créer un mob avec l'apparence et l'id du mob.
Exemple : /spawnmob cow cow va être changé en l'id 11 qui va être sauvegardé dans la donnée : mobID. Ensuite le mob va apparaître avec l'id 11 et l'apparence qui convient. Il va apparaître sur getPlayerX,Y,Z tu peux deviner ce que ça veut dire

si on voulait le faire apparaître à 10 bloc de sa position par rapport à X on aurait fait : getPlayerX+!0. Logique ! Pourquoi 11 l'id de la vache ? En bien tous simplement car chaques block à un ID, chaques items à un ID et chaques Entité à un ID !
Passons au give, le plus intéressant, à savoir que la commande de give à un ordre particulier : addItemInventory(ID, nombre, data);
Donc quand le joueur va taper give 1 10 la commande va enregistrer le 1 et le 10 qui vont être lus par la commande :
addItemInventory(+p[1], +p[2]);
Le deuxième mot : "1" va être ajouté comme ID et le troisième mod comme nombre (j'aurais pu rajouter le data)
Voilà pour les textes
Après on peut faire que si on touche un bloc ça effetue une action..
J'ai plein d'exemples mais c'est long à expliquer >< J'espère au moins que t'as compris le fonctionnement et le principe de mod script
