NRF SDK 0.9

Référence

Nimby

Point d’entrée du client : connexion et fonctions regroupées par usage dans Game.

Contexte d’utilisation

ModulePackageSource SDK
Kotlin/JVMfr.nimby.sdkkotlin-client/src/main/kotlin/fr/nimby/sdk/Nimby.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.Nimby
import fr.nimby.sdk.Game
import java.nio.file.Path
import java.time.Instant

Nimby

fr.nimby.sdk · object
object Nimby

Point d’entrée d’une application JVM : découvrir les jeux puis ouvrir explicitement une connexion. Un mod Native utilise le contexte fourni par le SDK.

Nimby.runningGames

fr.nimby.sdk · fun
fun runningGames(): List<GameProcess>

Liste les processus de jeu visibles ; ne choisit aucun jeu et ne garantit pas qu’une connexion réussira.

Nimby.connect

fr.nimby.sdk · fun
fun connect(sdk: Path, processId: Int? = null): Game

Ouvre le SDK indiqué pour le PID choisi. Sans PID, exige exactement un jeu visible. Retourne Game à fermer avec use ; aucune mutation automatique.

Game

fr.nimby.sdk · class
class Game : AutoCloseable

Connexion possédée par l’application, regroupée par usage. Utiliser use pour la fermer ; les observations copiées restent lisibles après fermeture. Ne pas construire ce type directement.

Game.advanced

fr.nimby.sdk · val
val advanced: NimbyClient

Client détaillé de cette même connexion ; ne pas le fermer séparément.

Game.trains

fr.nimby.sdk · val
val trains: Trains

Lectures ciblées et requêtes de trains.

Game.clock

fr.nimby.sdk · val
val clock: Clock

Lecture et changement explicite de la date du jeu.

Game.signals

fr.nimby.sdk · val
val signals: Signals

Essais visuels temporaires de textures de signaux.

Game.mods

fr.nimby.sdk · val
val mods: Mods

Statut et sessions temporaires de contrôle des mods chargés.

Game.construction

fr.nimby.sdk · val
val construction: Construction

Préparation, création, suivi et annulation de séries expérimentales de signaux.

Game.snapshot

fr.nimby.sdk · fun
fun snapshot(selectedTrain: Long? = null): 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.

Game.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.

Game.Trains

fr.nimby.sdk · class
class Trains

Accès aux lectures de trains de cette connexion. Obtenir cet objet depuis Game.

Game.Trains.read

fr.nimby.sdk · fun
fun read(id: 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.

Game.Trains.read

fr.nimby.sdk · fun
fun read(id: TrainId): 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.

Game.Trains.snapshot

fr.nimby.sdk · fun
fun snapshot(selectedTrain: TrainId? = 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.

Game.Clock

fr.nimby.sdk · class
class Clock

Accès à l’horloge du jeu de cette connexion. Obtenir cet objet depuis Game.

Game.Clock.read

fr.nimby.sdk · fun
fun read(): 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à.

Game.Clock.set

fr.nimby.sdk · fun
fun set(utc: 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.

Game.Signals

fr.nimby.sdk · class
class Signals

Actions d’affichage uniquement ; ne modifient pas les permissions de mouvement. Obtenir cet objet depuis Game.

Game.Signals.showTexture

fr.nimby.sdk · fun
fun showTexture(id: Long, catalogue: String, image: 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.

Game.Signals.restoreTexture

fr.nimby.sdk · fun
fun restoreTexture(id: Long): Unit

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

Game.Mods

fr.nimby.sdk · class
class Mods

Contrôle explicite des mods présents dans la partie connectée. Obtenir cet objet depuis Game.

Game.Mods.status

fr.nimby.sdk · fun
fun status(id: String): ControlResponse

Interroge une fois le mod chargé dans cette partie. Les compteurs décrivent des forçages temporaires, pas tous les signaux gérés. Une exception n’est pas une preuve d’absence du mod.

Game.Mods.control

fr.nimby.sdk · fun
fun control(id: 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.

Game.Construction

fr.nimby.sdk · class
class Construction

Construction expérimentale par tickets ; chaque écriture doit être confirmée et suivie. Obtenir cet objet depuis Game.

Game.Construction.prepare

fr.nimby.sdk · fun
fun prepare(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.

Game.Construction.create

fr.nimby.sdk · fun
fun create(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.

Game.Construction.poll

fr.nimby.sdk · fun
fun poll(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.

Game.Construction.undo

fr.nimby.sdk · fun
fun undo(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.