Fortunia Script Engine - Extension VSCode
Extension VSCode pour le langage FSC (Fortunia Script) - Coloration syntaxique, snippets et linter intégré pour les scripts Minecraft du Fortunia Scripting Engine.
🎯 Fonctionnalités
✨ Coloration Syntaxique
- Syntaxe FSC complète : Mots-clés, types, namespaces, fonctions
- Codes couleurs Minecraft : Support de
&a, &e, etc.
- Commentaires : Support des commentaires
#
- Métadonnées : Coloration du bloc
@metadata
🔍 Linter Intégré
- Validation en temps réel : Détection des erreurs de syntaxe
- Namespaces valides : Vérification des namespaces FSC
- Variables non déclarées : Avertissements pour les variables non définies
- Fonctions inconnues : Détection des appels de fonction invalides
- Codes couleurs : Validation des codes couleurs Minecraft
💡 Autocomplétion Intelligente
- Namespaces :
player::, npc::, dialogue::, var::, chat::, item::, world::, etc.
- Fonctions API : Plus de 50 fonctions disponibles
- Mots-clés :
function, if, else, for, while, let, return, etc.
- Types :
Player, Location, String, Integer, Boolean, void, etc.
📝 Snippets
- Génération rapide de structures de code courantes
- Templates pour les fonctions, boucles, conditions
📦 Installation
- Ouvrez VSCode
- Allez dans Extensions (
Ctrl+Shift+X)
- Recherchez "FSC Syntax & Linter"
- Cliquez sur "Installer"
🚀 Utilisation
- Créez un fichier avec l'extension
.fsc
- L'extension s'activera automatiquement
- Commencez à écrire votre script FSC avec l'autocomplétion et le linter
Exemple de Script
@metadata {
name: "Script de Bienvenue"
description: "Accueille les joueurs à leur connexion"
version: "1.0"
author: "VotreNom"
}
function onPlayerJoin(player: Player) -> void {
# Message de bienvenue
player::sendTitle("&6Bienvenue!", "&aPassez un bon moment", 10, 70, 20);
player::sendMessage("&eBonjour &6" + player.name + "&e!");
# Effets
player::playSound("minecraft:entity.player.levelup", 1.0, 1.0);
player::spawnParticle("HEART", player.location, 10);
# Items de départ
if (!var::has("player_" + player.name + "_joined")) {
player::give("minecraft:bread", 5);
player::give("minecraft:wooden_sword", 1);
var::set("player_" + player.name + "_joined", true);
}
}
🔧 Configuration
L'extension peut être configurée dans les paramètres VSCode :
fsc.linter.enabled : Activer/désactiver le linter (défaut: true)
fsc.linter.maxErrors : Nombre maximum d'erreurs à afficher (défaut: 100)
fsc.linter.strictMode : Mode strict avec plus d'avertissements (défaut: false)
📚 APIs Supportées
Player API
Gestion des joueurs : inventaire, santé, téléportation, permissions, effets visuels
player::give(), player::take(), player::heal(), player::teleport(), etc.
NPC API
Création et gestion des NPCs
npc::create(), npc::remove(), npc::get(), npc::exists(), npc::list()
Dialogue API
Dialogues interactifs avec les NPCs
dialogue::say(), dialogue::dire(), dialogue::choice()
Variables API
Variables persistantes sauvegardées automatiquement
var::set(), var::get(), var::has(), var::remove(), var::list()
Chat API
Messages aux joueurs
chat::send(), chat::broadcast()
Item API
Création d'items personnalisés
item::make(), item::setName(), item::setLore()
World API
Manipulation du monde
world::inFrontOf(), world::isDay(), world::isNight()
🐛 Signaler un Bug
Si vous rencontrez un problème, ouvrez une issue sur GitHub.
📖 Documentation
Pour la documentation complète du Fortunia Scripting Engine, consultez le fichier docs.md.
📝 Licence
MIT License - Voir le fichier LICENSE pour plus de détails.
👥 Contribution
Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une Pull Request.
| |