[API] [Programme] Les utilitaires de Pyeroh
Page 1 sur 1
[API] [Programme] Les utilitaires de Pyeroh
Bonjour à tous,
Ca fait bien longtemps que je ne m'étais pas remis à Minecraft, Computercraft, ainsi que le serveur, mais quitte à contribuer, autant le faire avec des francophones, qui pourront tester sur un même serveur
Voici donc le lien vers des petits programmes que je développe : CC-Programs sur GitHub
Rien de très impressionnant, mais j'espère que ça pourra servir ! Avant d'indiquer la liste des différentes fonctionnalités, je tiens à préciser que puisque c'est sur Github, vous pouvez contribuer avec une pull request, si vous trouvez qu'il y a un bug, ou que vous voulez améliorer quelque chose. Je développe en Java à la base, donc revenir sur du procédural me change un peu...
Ca fait bien longtemps que je ne m'étais pas remis à Minecraft, Computercraft, ainsi que le serveur, mais quitte à contribuer, autant le faire avec des francophones, qui pourront tester sur un même serveur
Voici donc le lien vers des petits programmes que je développe : CC-Programs sur GitHub
Rien de très impressionnant, mais j'espère que ça pourra servir ! Avant d'indiquer la liste des différentes fonctionnalités, je tiens à préciser que puisque c'est sur Github, vous pouvez contribuer avec une pull request, si vous trouvez qu'il y a un bug, ou que vous voulez améliorer quelque chose. Je développe en Java à la base, donc revenir sur du procédural me change un peu...
Fonctionnalités :
- API ComputerCraft : ces fichiers reproduisent le comportement de l'API de base de ComputerCraft, ou le simulent. Pour le moment, il n'y a que la redstone, les couleurs, le clavier, et les opérations sur les bits. L'intérêt de reproduire cette API est de pouvoir développer dans un IDE sans avoir besoin de Minecraft allumé pour tester son programme.
- PLUS:
- En revanche, vous devez préparer votre environnement pour tester votre programme. Par exemple, pour la redstone, vous devez utiliser les différents méthodes "set*Output" pour simuler l'activation des différentes entrées de redstone.
Pour les utiliser dans vos programmes, il vous suffit d'écrire ceci en haut de fichier .lua :- Code:
local redstone = require("redstone")
D'autres API viendront.
- API RLG (Redstone Logic Gates) : RLG est une API permet d'effectuer des opérations logiques sur les entrées redstone d'un ordinateur, ou d'une turtle (il n'y a pas de restriction, attention cependant à l'orientation de la turtle). Ces opérations logiques prennent en compte un signal direct (ON/OFF), analogique (0 -> 15), ou bundled (avec les couleurs, disponible avec ProjetRed).
- Détail:
Le tableau des opérations supportées :
Pourquoi pas de XOR en analogique ? Tout simplement parce que : à quoi ça correspondrait ?
Détail de l'API :- Code:
-- AND sur un signal direct
function directAND(...) -- inputs, comme définis par redstone.getSides()
-- OR sur un signal direct
function directOR(...) -- inputs
-- XOR sur un signal direct
function directXOR(...) -- inputs
-- NOT sur un signal direct
function directNOT(...) -- inputs
-- AND sur un signal analogique
function analogAND(...) -- inputs
-- OR sur un signal analogique
function analogOR(...) -- inputs
-- NOT sur un signal analogique
function analogNOT(...) -- inputs
-- AND sur un signal bundled
function bundledAND(...) -- inputs
-- OR sur un signal bundled
function bundledOR(...) -- inputs
-- XOR sur un signal bundled
function bundledXOR(...) -- inputs
-- NOT sur un signal bundled
function bundledNOT(...) -- inputs
-- Emet le signal direct indiqué sur toutes les sorties en paramètre
function directOutput(signal, ...) -- outputs
-- Emet le signal analogique indiqué sur toutes les sorties en paramètre
function analogOutput(signalIntensity, ...) -- outputs
-- Emet le signal bundle indiqué sur toutes les sorties en paramètre. Le premier paramètre doit être un nombre correspondant à un ensemble de couleurs
function bundledOutput(signals, ...) -- outputs
-- Reset les sorties basiques (non bundled) en paramètre
function basicClear(...)
-- Reset toutes les sorties basiques (non bundled)
function basicClearAll()
-- Reset les couleurs en paramètre (au format nombre) sur les sorties en paramètre
function bundledClearSignals(signals, ...) -- outputs
-- Reset tout le signal bundled sur les sorties en paramètre
function bundledClear(...) -- outputs
-- Reset toutes les couleurs sur toutes les sorties
function bundledClearAll()
-- Lance une boucle qui effectue en continu la loopFunction, et qui s'arrête quand la keyToStop du clavier est appuyée, ou quand l'une des fonctions passées en paramètre en vararg s'arrête
function gateLoop(loopFunction, keyToStop, ...) -- breakerFunctions
Pour le fonctionnement de l'API, la fonction d'opération logique doit d'abord être appelée, et ensuite son résultat est traité par la méthode de sortie associée. Exemple :- Code:
-- Emet sur la sortie arrière le résultat de l'opération logique AND entre les entrées directes à gauche et à droite
directOutput( directAND("left","right"), "back")
- Code:
gateLoop(
function()
directOutput( directAND("left","right"), "back")
end,
keys.t)
C'est une API très basique, et il est tout à fait possible de l'améliorer, mais elle a le mérite d'être, en l'état, parfaitement fonctionnelle.
Par ailleurs, je sais bien que le modpack inclut ProjectRed avec ses portes logiques, mais cette API fonctionne seulement avec la redstone de base, ce qui peut être pratique si un mod comme P:Red n'est pas installé.
Sujets similaires
» [Programme] arcClock v1
» [Programme] ByteEditor
» [Programme] music v1.1.2
» [PROGRAMME] Alpha Cloud v0.1.0
» [Programme] music for OpenComputers
» [Programme] ByteEditor
» [Programme] music v1.1.2
» [PROGRAMME] Alpha Cloud v0.1.0
» [Programme] music for OpenComputers
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum