Les bases de KubeJS (JavaScript)
-
Bonjour tout le monde je vous propose un sujet sur KubeJS, je n’ai vu aucun article sur le forum alors je me suis décidé d’en poster un et de vous parler de KubeJS, malheureusement je tiens à vous dire que je ne suis encore que débutant donc je n’aurais pas réponse à tout, mais ne vous inquiétez pas tout est expliquer sur leur wiki !
KubeJS, c’est quoi ?
KubeJS est une bibliothèque de scripts pour Minecraft qui vous permet d’ajouter du contenu personnalisé au jeu, notamment des recettes, des crafts, des entités et des événements le tout avec le langage JavaScript, oui oui, JavaScript à ne pas confondre.
Si vous ne connaissez pas javascript ne vous inquiéter pas il y à beaucoup d’exemple sur le wiki.
Voici quelques étapes pour commencer à coder avec KubeJS :
-
Assurez-vous que vous avez Minecraft Forge installé sur votre ordinateur. Vous pouvez télécharger la dernière version de Forge depuis leur site officiel: https://files.minecraftforge.net/.
-
Téléchargez KubeJS pour Minecraft Forge sur CurseForge: https://www.curseforge.com/minecraft/mc-mods/kubejs-forge.
-
Lancer le serveur ou minecraft, pour générer le dossier de kubeJS à la racine de votre dossier minecraft.
Dans KubeJS, on va regarder les principaux dossier dans lesquelles on va coder ou envoyer nos ressources :
-
kubejs/assets | Des textures, des modèles d’objets, des fichiers audio, des fichiers de langue, des fichiers de données et bien plus encore.
-
kubejs/client_scripts | Les scripts du dossier “client_scripts” peuvent être utilisés pour personnaliser l’apparence et le comportement du client Minecraft. Par exemple, vous pouvez ajouter des effets visuels personnalisés, des boutons de commande personnalisés ou des interfaces utilisateur personnalisées pour vos joueurs.
Voici un exemple de script du dossier “client_scripts” qui ajoute un bouton “Hello World” à l’interface utilisateur du joueur :
onLoad(() => { const button = new ButtonWidget({ label: 'Hello World', onClick: () => { ChatLib.chat('&cHello World!'); } }); button.addToScreen(); });
Ce script utilise la classe ButtonWidget pour créer un bouton personnalisé et l’ajoute à l’interface utilisateur du joueur en appelant la méthode addToScreen(). Lorsque le joueur clique sur le bouton, le script envoie un message dans le chat avec le texte “Hello World!”.
- kubejs/server_scripts | Le dossier server_scripts de KubeJS est utilisé pour stocker les scripts qui seront exécutés côté serveur. Les scripts du dossier server_scripts sont exécutés sur le serveur Minecraft, ce qui signifie que toutes les modifications apportées par ces scripts seront visibles pour tous les joueurs sur le serveur.
Le dossier server_scripts peut être utilisé pour configurer des fonctionnalités personnalisées du serveur, comme des commandes personnalisées, des événements personnalisés, des recettes personnalisées, des entités personnalisées, etc.
Voici un exemple simple de script du dossier server_scripts qui ajoute une commande personnalisée pour donner des pommes d’or aux joueurs :
onCommand('givegoldenapple', (args) => { const player = getPlayer(args.player); const count = args.count || 1; player.give('minecraft:golden_apple', count); player.tell('You have been given ' + count + ' golden apple(s).'); return 0; });
Dans cet exemple, le script crée une commande /givegoldenapple qui prend un argument optionnel pour le nombre de pommes d’or à donner. Le script utilise la fonction getPlayer() pour obtenir une référence au joueur qui a exécuté la commande, puis appelle la méthode give() sur cet objet joueur pour lui donner les pommes d’or.
Enfin, le script envoie un message de confirmation au joueur pour lui indiquer qu’il a reçu les pommes d’or.
Le dossier server_scripts est donc un élément clé de KubeJS qui permet de personnaliser le comportement du serveur Minecraft en fonction de vos besoins et de vos exigences spécifiques.
- kubejs/startup_scripts | Le dossier startup_scripts de KubeJS est utilisé pour stocker les scripts qui seront exécutés au démarrage du serveur Minecraft.
Ces scripts seront exécutés une fois que le serveur aura terminé de démarrer et seront utiles pour initialiser des fonctionnalités personnalisées, enregistrer des événements personnalisés, des entités personnalisées, etc.
Ils sont exécutés une seule fois au démarrage du serveur, contrairement aux scripts du dossier server_scripts, qui peuvent être exécutés plusieurs fois pendant l’exécution du serveur.
Voici un exemple simple de script du dossier startup_scripts qui enregistre un événement personnalisé qui sera utilisé par un script du dossier server_scripts :
onEvent('minecraft:load', () => { // Enregistrer un événement personnalisé event.custom_event('mon_event').create(); });
Dans cet exemple, le script utilise la fonction onEvent() pour enregistrer un gestionnaire d’événements pour l’événement minecraft:load.
Dans le gestionnaire d’événements, le script enregistre un événement personnalisé en appelant la méthode custom_event() sur l’objet event.
Cet événement personnalisé pourra ensuite être utilisé par d’autres scripts du dossier server_scripts.
- kubejs/config | Le dossier config de KubeJS est utilisé pour stocker les fichiers de configuration pour votre serveur Minecraft. Ces fichiers peuvent être utilisés pour configurer différents aspects de votre serveur, tels que les fonctionnalités de KubeJS, les mods, les blocs et les entités personnalisés, et bien plus encore.
Les fichiers de configuration de KubeJS ont un nom qui commence par kubejs_, suivi du nom de la fonctionnalité ou de l’entité qu’ils configurent.
Voici un exemple de fichier de configuration pour un bloc personnalisé dans le dossier config de KubeJS :
{ "block": { "example_block": { "hardness": 2.0, "resistance": 10.0, "harvest_tool": "pickaxe", "harvest_level": 2 } } }
Dans cet exemple, le fichier de configuration configure un bloc personnalisé appelé “example_block”.
Les propriétés du bloc qui sont configurées incluent la dureté (hardness) du bloc, sa résistance (resistance), l’outil nécessaire pour le récolter (harvest_tool) et le niveau d’outil requis (harvest_level).
En utilisant le dossier config de KubeJS, vous pouvez configurer facilement et rapidement différentes fonctionnalités et entités personnalisées sur votre serveur Minecraft.
Voilà c’est terminer pour la présentation de KubeJS, vous trouverez plus d’informations sur les liens suivant.
-