From 62d9bcff81650c9fee9a01a78767e31e79f9f750 Mon Sep 17 00:00:00 2001
From: Quaternions <krakow20@gmail.com>
Date: Wed, 23 Apr 2025 14:12:21 -0700
Subject: [PATCH] roblox_emulator: implement __newindex CFrame

---
 lib/roblox_emulator/src/runner/instance/instance.rs | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/roblox_emulator/src/runner/instance/instance.rs b/lib/roblox_emulator/src/runner/instance/instance.rs
index 410de24..2427c4c 100644
--- a/lib/roblox_emulator/src/runner/instance/instance.rs
+++ b/lib/roblox_emulator/src/runner/instance/instance.rs
@@ -394,6 +394,10 @@ impl mlua::UserData for Instance{
 						let typed_value:&crate::runner::color_sequence::ColorSequence=&*value.as_userdata().ok_or_else(||mlua::Error::runtime("Expected ColorSequence"))?.borrow()?;
 						rbx_types::Variant::ColorSequence(typed_value.clone().into())
 					},
+					rbx_reflection::DataType::Value(rbx_types::VariantType::CFrame)=>{
+						let typed_value:&crate::runner::cframe::CFrame=&*value.as_userdata().ok_or_else(||mlua::Error::runtime("Expected CFrame"))?.borrow()?;
+						rbx_types::Variant::CFrame(typed_value.clone().into())
+					},
 					rbx_reflection::DataType::Value(rbx_types::VariantType::ContentId)=>{
 						let typed_value=value.as_str().ok_or_else(||mlua::Error::runtime("Expected string"))?.to_owned();
 						rbx_types::Variant::ContentId(typed_value.into())