@@ -12,6 +12,7 @@ function getExportVersionId() {
12
12
function generateBonePassenger ( uuid : string , bone : AnimatedJava . IRenderedNodes [ 'Bone' ] ) {
13
13
const passenger = deepslate . NbtTag . fromString ( bone . nbt ) as NbtCompound
14
14
const default_pose = G . exportData . rig . defaultPose . find ( pose => pose . uuid === uuid )
15
+ const useComponents = G . exportData . exporterSettings . use_component_system . value
15
16
16
17
passenger . set ( 'id' , new deepslate . NbtString ( 'minecraft:item_display' ) )
17
18
@@ -30,11 +31,11 @@ function generateBonePassenger(uuid: string, bone: AnimatedJava.IRenderedNodes['
30
31
if ( ! passenger . get ( 'item' ) ) passenger . set ( 'item' , new deepslate . NbtCompound ( ) )
31
32
const item = passenger . get ( 'item' ) as InstanceType < typeof deepslate . NbtCompound >
32
33
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 ) )
34
35
. set (
35
- 'tag' ,
36
+ useComponents ? 'components' : 'tag' ,
36
37
new deepslate . NbtCompound ( ) . set (
37
- 'CustomModelData' ,
38
+ useComponents ? 'minecraft:custom_model_data' : 'CustomModelData' ,
38
39
new deepslate . NbtInt ( bone . customModelData )
39
40
)
40
41
)
@@ -82,6 +83,7 @@ function generateLocatorPassenger(
82
83
) {
83
84
const { roundToN } = AnimatedJava . API
84
85
const passenger = deepslate . NbtTag . fromString ( locator . nbt ) as NbtCompound
86
+ const useComponents = G . exportData . exporterSettings . use_component_system . value
85
87
// const default_pose = G.exportData.rig.defaultPose.find(pose => pose.uuid === uuid)
86
88
87
89
passenger
@@ -99,10 +101,10 @@ function generateLocatorPassenger(
99
101
'Item' ,
100
102
new deepslate . NbtCompound ( )
101
103
. set ( 'id' , new deepslate . NbtString ( G . RIG_ITEM ) )
102
- . set ( 'Count' , new deepslate . NbtByte ( 1 ) )
104
+ . set ( useComponents ? 'count' : 'Count' , new deepslate . NbtByte ( 1 ) )
103
105
. 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 ) )
106
108
)
107
109
)
108
110
. set (
@@ -196,6 +198,7 @@ function generateCameraPassenger(
196
198
) {
197
199
const { roundToN } = AnimatedJava . API
198
200
const passenger = deepslate . NbtTag . fromString ( camera . nbt ) as NbtCompound
201
+ const useComponents = G . exportData . exporterSettings . use_component_system . value
199
202
// const default_pose = G.exportData.rig.defaultPose.find(pose => pose.uuid === uuid)
200
203
201
204
passenger
@@ -213,10 +216,10 @@ function generateCameraPassenger(
213
216
'Item' ,
214
217
new deepslate . NbtCompound ( )
215
218
. set ( 'id' , new deepslate . NbtString ( G . RIG_ITEM ) )
216
- . set ( 'Count' , new deepslate . NbtByte ( 1 ) )
219
+ . set ( useComponents ? 'count' : 'Count' , new deepslate . NbtByte ( 1 ) )
217
220
. 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 ) )
220
223
)
221
224
)
222
225
. set (
@@ -598,6 +601,7 @@ export function generateFunctions(folders: IFolders) {
598
601
const applyVariantsFolder = folders . project . functions . newFolder ( 'apply_variant' )
599
602
const internalApplyVariantsFolder =
600
603
folders . project . internalFunctions . newFolder ( 'apply_variant' )
604
+ const useComponents = G . exportData . exporterSettings . use_component_system . value
601
605
for ( const variant of G . VARIANTS ) {
602
606
// ANCHOR - function G.PROJECT_PATH/apply_variant/<variant_name>
603
607
applyVariantsFolder . newFile ( `${ variant . name } .mcfunction` , [
@@ -627,9 +631,11 @@ export function generateFunctions(folders: IFolders) {
627
631
? node
628
632
: G . exportData . rig . variantModels [ variant . name ] [ uuid ]
629
633
634
+ const cmdPath = useComponents ? 'item.components.minecraft:custom_model_data' : 'item.tag.CustomModelData'
635
+
630
636
return `execute if entity @s[tag=${ formatStr ( G . TAGS . namedBoneEntity , [
631
637
node . name ,
632
- ] ) } ] run data modify entity @s item.tag.CustomModelData set value ${
638
+ ] ) } ] run data modify entity @s ${ cmdPath } set value ${
633
639
variantBone . customModelData
634
640
} `
635
641
} ) ,
0 commit comments