@@ -12,6 +12,7 @@ function getExportVersionId() {
1212function generateBonePassenger ( uuid : string , bone : AnimatedJava . IRenderedNodes [ 'Bone' ] ) {
1313 const passenger = deepslate . NbtTag . fromString ( bone . nbt ) as NbtCompound
1414 const default_pose = G . exportData . rig . defaultPose . find ( pose => pose . uuid === uuid )
15+ const useComponents = G . exportData . exporterSettings . use_component_system . value
1516
1617 passenger . set ( 'id' , new deepslate . NbtString ( 'minecraft:item_display' ) )
1718
@@ -30,11 +31,11 @@ function generateBonePassenger(uuid: string, bone: AnimatedJava.IRenderedNodes['
3031 if ( ! passenger . get ( 'item' ) ) passenger . set ( 'item' , new deepslate . NbtCompound ( ) )
3132 const item = passenger . get ( 'item' ) as InstanceType < typeof deepslate . NbtCompound >
3233 item . set ( 'id' , new deepslate . NbtString ( G . RIG_ITEM ) )
33- . set ( 'Count' , new deepslate . NbtByte ( 1 ) )
34+ . set ( useComponents ? 'count' : 'Count' , new deepslate . NbtByte ( 1 ) )
3435 . set (
35- 'tag' ,
36+ useComponents ? 'components' : 'tag' ,
3637 new deepslate . NbtCompound ( ) . set (
37- 'CustomModelData' ,
38+ useComponents ? 'minecraft:custom_model_data' : 'CustomModelData' ,
3839 new deepslate . NbtInt ( bone . customModelData )
3940 )
4041 )
@@ -82,6 +83,7 @@ function generateLocatorPassenger(
8283) {
8384 const { roundToN } = AnimatedJava . API
8485 const passenger = deepslate . NbtTag . fromString ( locator . nbt ) as NbtCompound
86+ const useComponents = G . exportData . exporterSettings . use_component_system . value
8587 // const default_pose = G.exportData.rig.defaultPose.find(pose => pose.uuid === uuid)
8688
8789 passenger
@@ -99,10 +101,10 @@ function generateLocatorPassenger(
99101 'Item' ,
100102 new deepslate . NbtCompound ( )
101103 . set ( 'id' , new deepslate . NbtString ( G . RIG_ITEM ) )
102- . set ( 'Count' , new deepslate . NbtByte ( 1 ) )
104+ . set ( useComponents ? 'count' : 'Count' , new deepslate . NbtByte ( 1 ) )
103105 . set (
104- 'tag' ,
105- new deepslate . NbtCompound ( ) . set ( 'CustomModelData' , new deepslate . NbtInt ( 1 ) )
106+ useComponents ? 'components' : 'tag' ,
107+ new deepslate . NbtCompound ( ) . set ( useComponents ? 'minecraft:custom_model_data' : 'CustomModelData' , new deepslate . NbtInt ( 1 ) )
106108 )
107109 )
108110 . set (
@@ -196,6 +198,7 @@ function generateCameraPassenger(
196198) {
197199 const { roundToN } = AnimatedJava . API
198200 const passenger = deepslate . NbtTag . fromString ( camera . nbt ) as NbtCompound
201+ const useComponents = G . exportData . exporterSettings . use_component_system . value
199202 // const default_pose = G.exportData.rig.defaultPose.find(pose => pose.uuid === uuid)
200203
201204 passenger
@@ -213,10 +216,10 @@ function generateCameraPassenger(
213216 'Item' ,
214217 new deepslate . NbtCompound ( )
215218 . set ( 'id' , new deepslate . NbtString ( G . RIG_ITEM ) )
216- . set ( 'Count' , new deepslate . NbtByte ( 1 ) )
219+ . set ( useComponents ? 'count' : 'Count' , new deepslate . NbtByte ( 1 ) )
217220 . set (
218- 'tag' ,
219- new deepslate . NbtCompound ( ) . set ( 'CustomModelData' , new deepslate . NbtInt ( 1 ) )
221+ useComponents ? 'components' : 'tag' ,
222+ new deepslate . NbtCompound ( ) . set ( useComponents ? 'minecraft:custom_model_data' : 'CustomModelData' , new deepslate . NbtInt ( 1 ) )
220223 )
221224 )
222225 . set (
@@ -598,6 +601,7 @@ export function generateFunctions(folders: IFolders) {
598601 const applyVariantsFolder = folders . project . functions . newFolder ( 'apply_variant' )
599602 const internalApplyVariantsFolder =
600603 folders . project . internalFunctions . newFolder ( 'apply_variant' )
604+ const useComponents = G . exportData . exporterSettings . use_component_system . value
601605 for ( const variant of G . VARIANTS ) {
602606 // ANCHOR - function G.PROJECT_PATH/apply_variant/<variant_name>
603607 applyVariantsFolder . newFile ( `${ variant . name } .mcfunction` , [
@@ -627,9 +631,11 @@ export function generateFunctions(folders: IFolders) {
627631 ? node
628632 : G . exportData . rig . variantModels [ variant . name ] [ uuid ]
629633
634+ const cmdPath = useComponents ? 'item.components.minecraft:custom_model_data' : 'item.tag.CustomModelData'
635+
630636 return `execute if entity @s[tag=${ formatStr ( G . TAGS . namedBoneEntity , [
631637 node . name ,
632- ] ) } ] run data modify entity @s item.tag.CustomModelData set value ${
638+ ] ) } ] run data modify entity @s ${ cmdPath } set value ${
633639 variantBone . customModelData
634640 } `
635641 } ) ,
0 commit comments