NRF SDK 0.9

Référence

NimbyClient

Connexion, captures, lectures ciblées et commandes du client Kotlin/JVM.

Contexte d’utilisation

ModulePackageSource SDK
Kotlin/JVMfr.nimby.sdkkotlin-client/src/main/kotlin/fr/nimby/sdk/NimbyClient.kt

API publique du SDK 0.9.0-alpha.2. Chaque entrée donne la signature Kotlin et son contrat : sens de la valeur, conditions d’utilisation et effets à connaître. Choisissez les imports du module indiqué ci-dessus.

Imports de cette page
import fr.nimby.sdk.NimbyClient
import java.nio.file.Path

NimbyClient

fr.nimby.sdk · class
class NimbyClient : ObservationClient

Client détaillé possédant une connexion ; préférer Game pour les usages courants. Les opérations de cette connexion sont sérialisées. Ouvrir via open et fermer avec use ; ne pas construire directement.

NimbyClient.Companion.open

fr.nimby.sdk · fun
fun open(libraryPath: Path, processId: Int): NimbyClient

Ouvre la bibliothèque SDK donnée pour un PID strictement positif et vérifie sa compatibilité. Ferme les ressources d’ouverture si la connexion échoue.

NimbyClient.readTrain

fr.nimby.sdk · fun
fun readTrain(trainId: Long): DrivingObservation?

Lit uniquement le train demandé : position, vitesse mesurée et paramètres de conduite. null si absent ou instable ; les autres échecs lèvent une exception. Le résultat copié reste utilisable après fermeture.

NimbyClient.prepareConstruction

fr.nimby.sdk · fun
fun prepareConstruction(sourceSignal: Long): ConstructionResult

Prépare une série à partir d’un signal source observé et retourne son ticket/état. N’ajoute pas de signal. Revalider le plan confirmé après préparation et avant création.

NimbyClient.createSignals

fr.nimby.sdk · fun
fun createSignals(token: Long, sourceSignal: Long, positions: List<Position>): ConstructionResult

Envoie une création unique avec un ticket préparé et 1 à 64 positions distinctes. Fractions strictement entre 0 et 1, sens -1 ou 1. Conserver le ticket et consulter poll après PENDING ou réponse incertaine ; ne pas répéter create.

NimbyClient.undoConstruction

fr.nimby.sdk · fun
fun undoConstruction(token: Long): ConstructionResult

Demande une seule annulation de la série. Peut être refusée si une autre commande a remplacé la dernière opération annulable. Vérifier état et canUndo ; suivre une réponse incertaine avec poll.

NimbyClient.pollConstruction

fr.nimby.sdk · fun
fun pollConstruction(token: Long): ConstructionResult

Relit l’état du ticket existant sans répéter sa création ou son annulation. Utiliser un ticket non nul de la même partie/session d’édition.

NimbyClient.readSimulationClock

fr.nimby.sdk · fun
fun readSimulationClock(): SimulationClock?

Lit l’horloge du jeu sans demander les grandes tables de la carte avec le SDK courant. null si indisponible. Réutiliser snapshot.clock lorsqu’une capture existe déjà.

NimbyClient.capture

fr.nimby.sdk · fun
override fun capture(selectedTrainId: Long?): Observation

Capture les tables du réseau et les observations usuelles. Un train sélectionné ajoute son chemin et son plan de ligne ; il ne filtre pas la liste des trains. Les tables sont copiées sans garantir un tick atomique.

NimbyClient.captureTrainData

fr.nimby.sdk · fun
fun captureTrainData(selectedTrainId: Long? = null, query: TrainQuery = TrainQuery()): Observation

Capture spécialisée selon TrainQuery, sans topologie complète, signaux, occupations ni réservations. selectedTrain demande en plus son plan et les données de service/horaires ; la liste des trains reste un lot.

NimbyClient.setSimulationDateTime

fr.nimby.sdk · fun
fun setSimulationDateTime(utc: java.time.Instant, recalculateTrains: Boolean = false): SimulationTimeChange

Change explicitement la date UTC, en secondes entières. Conserve la fraction de seconde. recalculateTrains demande aussi le recalcul des trains, avec interventions possibles. En cas d’échec, relire avant toute nouvelle écriture.

NimbyClient.showSignalTextureFor

fr.nimby.sdk · fun
fun showSignalTextureFor(signal: Long, catalogue: String, path: String, durationMillis: Int): Unit

Affiche l’image déclarée du catalogue pendant 1 000 à 60 000 ms. Identité de signal réelle et chemins non vides requis. Modifie l’apparence seule, jamais les règles ni permissions.

NimbyClient.restoreSignalTexture

fr.nimby.sdk · fun
fun restoreSignalTexture(signal: Long): Unit

Retire le remplacement visuel temporaire demandé pour ce signal ; ne réécrit aucune règle du mod.

NimbyClient.modControl

fr.nimby.sdk · fun
fun modControl(modId: String, request: ControlRequest): ControlResponse

Envoie exactement une demande au mod nommé dans la partie connectée. Préférer Game.mods et ModControlSession qui portent l’identité du bail. Inspecter l’état après un échec avant de choisir une nouvelle mutation.

NimbyClient.acquireModControl

fr.nimby.sdk · fun
fun acquireModControl(modId: String, leaseMillis: Int = 5000): ModControlSession

Acquiert un bail explicite de 1 000 à 60 000 ms auprès d’un mod ayant observé la partie. Fermer avec use ; renouvellement et reprises ne sont jamais automatiques.

NimbyClient.close

fr.nimby.sdk · fun
override fun close(): Unit

Ferme cette connexion et libère ses ressources. Les copies Kotlin déjà retournées restent valables comme anciennes observations ; aucun nouvel appel sur cette connexion.