From 12370ab07609bf78baef4ec2302fa4ba44317dae Mon Sep 17 00:00:00 2001 From: mat Date: Fri, 5 May 2023 23:09:57 -0500 Subject: change some things to be Arc+RwLock in brigadier --- azalea-brigadier/src/builder/argument_builder.rs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'azalea-brigadier/src/builder') diff --git a/azalea-brigadier/src/builder/argument_builder.rs b/azalea-brigadier/src/builder/argument_builder.rs index cfaff618..a1f3d6ae 100755 --- a/azalea-brigadier/src/builder/argument_builder.rs +++ b/azalea-brigadier/src/builder/argument_builder.rs @@ -1,3 +1,5 @@ +use parking_lot::RwLock; + use crate::{ context::CommandContext, modifier::RedirectModifier, @@ -5,7 +7,7 @@ use crate::{ }; use super::{literal_argument_builder::Literal, required_argument_builder::Argument}; -use std::{cell::RefCell, fmt::Debug, rc::Rc}; +use std::{fmt::Debug, rc::Rc, sync::Arc}; #[derive(Debug, Clone)] pub enum ArgumentBuilderType { @@ -19,7 +21,7 @@ pub struct ArgumentBuilder { command: Command, requirement: Rc) -> bool>, - target: Option>>>, + target: Option>>>, forks: bool, modifier: Option>>, @@ -46,7 +48,7 @@ impl ArgumentBuilder { } pub fn then_built(mut self, argument: CommandNode) -> Self { - self.arguments.add_child(&Rc::new(RefCell::new(argument))); + self.arguments.add_child(&Arc::new(RwLock::new(argument))); self } @@ -66,13 +68,13 @@ impl ArgumentBuilder { self } - pub fn redirect(self, target: Rc>>) -> Self { + pub fn redirect(self, target: Arc>>) -> Self { self.forward(target, None, false) } pub fn fork( self, - target: Rc>>, + target: Arc>>, modifier: Rc>, ) -> Self { self.forward(target, Some(modifier), true) @@ -80,7 +82,7 @@ impl ArgumentBuilder { pub fn forward( mut self, - target: Rc>>, + target: Arc>>, modifier: Option>>, fork: bool, ) -> Self { -- cgit v1.2.3