pub struct VersionBuilder<'a, L = ()> {
pub name: String,
pub loader: L,
pub loader_version: String,
pub minecraft_version: String,
pub project_dirs: &'a Lazy<ProjectDirs>,
pub game_dirs: PathBuf,
pub java_dirs: PathBuf,
}Expand description
Structure principale pour configurer une version Minecraft avec un loader
§Exemples
use lighty_version::VersionBuilder;
use lighty_loaders::types::Loader;
let builder = VersionBuilder::new("my-profile", Loader::Vanilla, "0.15.0", "1.20.1", &PROJECT_DIRS);
// Ou avec le builder pattern:
let builder = VersionBuilder::new("my-profile", Loader::Vanilla, "0.15.0", "1.20.1", &PROJECT_DIRS)
.with_custom_game_dir(PathBuf::from("./games"))
.with_custom_java_dir(PathBuf::from("./java"));Fields§
§name: String§loader: L§loader_version: String§minecraft_version: String§project_dirs: &'a Lazy<ProjectDirs>§game_dirs: PathBuf§java_dirs: PathBufImplementations§
Source§impl<'a, L> VersionBuilder<'a, L>
impl<'a, L> VersionBuilder<'a, L>
Sourcepub fn new(
name: &str,
loader: L,
loader_version: &str,
minecraft_version: &str,
project_dirs: &'a Lazy<ProjectDirs>,
) -> Self
pub fn new( name: &str, loader: L, loader_version: &str, minecraft_version: &str, project_dirs: &'a Lazy<ProjectDirs>, ) -> Self
Crée un nouveau VersionBuilder avec les paramètres par défaut
Les répertoires par défaut sont :
game_dirs:{data_dir}/{name}java_dirs:{config_dir}/jre
Sourcepub fn with_custom_game_dir(self, game_dir: PathBuf) -> Self
pub fn with_custom_game_dir(self, game_dir: PathBuf) -> Self
Définit un répertoire de jeu personnalisé
§Exemple
let builder = VersionBuilder::new(...)
.with_custom_game_dir(PathBuf::from("./custom/games"));Sourcepub fn with_custom_java_dir(self, java_dir: PathBuf) -> Self
pub fn with_custom_java_dir(self, java_dir: PathBuf) -> Self
Définit un répertoire Java personnalisé
§Exemple
let builder = VersionBuilder::new(...)
.with_custom_java_dir(PathBuf::from("./custom/java"));Sourcepub fn with_loader(self, loader: L) -> Self
pub fn with_loader(self, loader: L) -> Self
Change le loader
Sourcepub fn with_loader_version(self, version: &str) -> Self
pub fn with_loader_version(self, version: &str) -> Self
Change la version du loader
Sourcepub fn with_minecraft_version(self, version: &str) -> Self
pub fn with_minecraft_version(self, version: &str) -> Self
Change la version de Minecraft
Trait Implementations§
Source§impl<'a, L: Clone> Clone for VersionBuilder<'a, L>
impl<'a, L: Clone> Clone for VersionBuilder<'a, L>
Source§fn clone(&self) -> VersionBuilder<'a, L>
fn clone(&self) -> VersionBuilder<'a, L>
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'a, L: Debug> Debug for VersionBuilder<'a, L>
impl<'a, L: Debug> Debug for VersionBuilder<'a, L>
Source§impl<'a, 'b, L: Clone + Send + Sync + Debug> VersionInfo for &'b VersionBuilder<'a, L>
impl<'a, 'b, L: Clone + Send + Sync + Debug> VersionInfo for &'b VersionBuilder<'a, L>
Source§type LoaderType = L
type LoaderType = L
Type du loader utilisé (Vanilla, Fabric, NeoForge, etc.)
Source§fn loader_version(&self) -> &str
fn loader_version(&self) -> &str
Version du loader (ou URL du serveur pour LightyVersion) Read more
Source§fn minecraft_version(&self) -> &str
fn minecraft_version(&self) -> &str
Version de Minecraft Read more
Source§fn game_dirs(&self) -> &Path
fn game_dirs(&self) -> &Path
Répertoire de jeu (contient les assets, libraries, versions, etc.)
Source§fn loader(&self) -> &Self::LoaderType
fn loader(&self) -> &Self::LoaderType
Retourne le loader utilisé
Source§fn game_dir_exists(&self) -> bool
fn game_dir_exists(&self) -> bool
Vérifie si le répertoire de jeu existe
Source§fn java_dir_exists(&self) -> bool
fn java_dir_exists(&self) -> bool
Vérifie si le répertoire Java existe
Source§fn full_identifier(&self) -> String
fn full_identifier(&self) -> String
Retourne un identifiant complet de la version Read more
Source§impl<'a, L: Clone + Send + Sync + Debug> VersionInfo for VersionBuilder<'a, L>
impl<'a, L: Clone + Send + Sync + Debug> VersionInfo for VersionBuilder<'a, L>
Source§type LoaderType = L
type LoaderType = L
Type du loader utilisé (Vanilla, Fabric, NeoForge, etc.)
Source§fn loader_version(&self) -> &str
fn loader_version(&self) -> &str
Version du loader (ou URL du serveur pour LightyVersion) Read more
Source§fn minecraft_version(&self) -> &str
fn minecraft_version(&self) -> &str
Version de Minecraft Read more
Source§fn game_dirs(&self) -> &Path
fn game_dirs(&self) -> &Path
Répertoire de jeu (contient les assets, libraries, versions, etc.)
Source§fn loader(&self) -> &Self::LoaderType
fn loader(&self) -> &Self::LoaderType
Retourne le loader utilisé
Source§fn game_dir_exists(&self) -> bool
fn game_dir_exists(&self) -> bool
Vérifie si le répertoire de jeu existe
Source§fn java_dir_exists(&self) -> bool
fn java_dir_exists(&self) -> bool
Vérifie si le répertoire Java existe
Source§fn full_identifier(&self) -> String
fn full_identifier(&self) -> String
Retourne un identifiant complet de la version Read more
Auto Trait Implementations§
impl<'a, L> Freeze for VersionBuilder<'a, L>where
L: Freeze,
impl<'a, L> RefUnwindSafe for VersionBuilder<'a, L>where
L: RefUnwindSafe,
impl<'a, L> Send for VersionBuilder<'a, L>where
L: Send,
impl<'a, L> Sync for VersionBuilder<'a, L>where
L: Sync,
impl<'a, L> Unpin for VersionBuilder<'a, L>where
L: Unpin,
impl<'a, L> UnwindSafe for VersionBuilder<'a, L>where
L: UnwindSafe,
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)