Skip to content

Commit f84cfb4

Browse files
committed
Merge branch 'experimental'
2 parents 1e1a848 + 0d99a23 commit f84cfb4

File tree

8 files changed

+124
-89
lines changed

8 files changed

+124
-89
lines changed

exporters/datapackExporter/datapack_structure.yml

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,14 @@ datapack:
6565
- as_root.mcfunction
6666
- as_rig_entities.mcfunction
6767
- as_bones.mcfunction
68-
- as_locators.mcfunction
69-
- as_cameras.mcfunction
68+
- as_locator_origins.mcfunction
69+
- as_camera_origins.mcfunction
70+
- camera_a:
71+
- as_origin.mcfunction
72+
- as_camera.mcfunction
73+
- locator_a:
74+
- as_origin.mcfunction
75+
- as_locator.mcfunction
7076
- load.mcfunction
7177
- load_as_root.mcfunction
7278
- tick.mcfunction
@@ -78,34 +84,34 @@ datapack:
7884
- as_root.json
7985
- as_rig_entities.json
8086
- as_bones.json
87+
- as_locator_origins.json
8188
- as_locators.json
82-
- as_locator_targets.json
89+
- as_camera_origins.json
8390
- as_cameras.json
84-
- as_camera_targets.json
8591
- on_tick:
8692
- as_root.json
8793
- as_rig_entities.json
8894
- as_bones.json
95+
- as_locator_origins.json
8996
- as_locators.json
90-
- as_locator_targets.json
97+
- as_camera_origins.json
9198
- as_cameras.json
92-
- as_camera_targets.json
9399
- on_summon:
94100
- as_root.json
95101
- as_rig_entities.json
96102
- as_bones.json
103+
- as_locator_origins.json
97104
- as_locators.json
98-
- as_locator_targets.json
105+
- as_camera_origins.json
99106
- as_cameras.json
100-
- as_camera_targets.json
101107
- on_remove:
102108
- as_root.json
103109
- as_rig_entities.json
104110
- as_bones.json
111+
- as_locator_origins.json
105112
- as_locators.json
106-
- as_locator_targets.json
113+
- as_camera_origins.json
107114
- as_cameras.json
108-
- as_camera_targets.json
109115
- minecraft:
110116
- tags:
111117
- functions:

exporters/datapackExporter/exporter/gen/animationTree.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ export function loadAnimationTreeGenerator() {
4444
const pos = node.pos
4545
const euler = new THREE.Euler().setFromQuaternion(node.rot, 'YXZ')
4646
const rot = new THREE.Vector3(euler.x, euler.y, euler.z).multiplyScalar(180 / Math.PI)
47-
return `execute if entity @s[tag=${formatStr(G.TAGS.namedLocatorEntity, [
47+
return `execute if entity @s[tag=${formatStr(G.TAGS.namedLocatorOrigin, [
4848
node.name,
4949
])}] at @s on origin run tp @s ^${roundToN(pos.x, 100000)} ^${roundToN(
5050
pos.y,
@@ -59,7 +59,7 @@ export function loadAnimationTreeGenerator() {
5959
const pos = node.pos
6060
const euler = new THREE.Euler().setFromQuaternion(node.rot, 'YXZ')
6161
const rot = new THREE.Vector3(euler.x, euler.y, euler.z).multiplyScalar(180 / Math.PI)
62-
return `execute if entity @s[tag=${formatStr(G.TAGS.namedCameraEntity, [
62+
return `execute if entity @s[tag=${formatStr(G.TAGS.namedCameraOrigin, [
6363
node.name,
6464
])}] at @s on origin run tp @s ^${roundToN(pos.x, 100000)} ^${roundToN(
6565
pos.y - 1.62,

exporters/datapackExporter/exporter/gen/entity_tags.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,21 @@ export function getTags() {
66
globalRigRoot: `aj.rig_root`,
77
rigEntity: `aj.${G.PROJECT_NAME}.rig_entity`,
88
rootEntity: `aj.${G.PROJECT_NAME}.root`,
9+
910
boneEntity: `aj.${G.PROJECT_NAME}.bone`,
10-
locatorEntity: `aj.${G.PROJECT_NAME}.locator`,
11-
cameraEntity: `aj.${G.PROJECT_NAME}.camera`,
1211
namedBoneEntity: `aj.${G.PROJECT_NAME}.bone.%s`,
12+
13+
locatorOrigin: `aj.${G.PROJECT_NAME}.locator_origin`,
14+
namedLocatorOrigin: `aj.${G.PROJECT_NAME}.locator_origin.%s`,
15+
locatorEntity: `aj.${G.PROJECT_NAME}.locator`,
1316
namedLocatorEntity: `aj.${G.PROJECT_NAME}.locator.%s`,
17+
18+
cameraOrigin: `aj.${G.PROJECT_NAME}.camera_origin`,
19+
namedCameraOrigin: `aj.${G.PROJECT_NAME}.camera_origin.%s`,
20+
cameraEntity: `aj.${G.PROJECT_NAME}.camera`,
1421
namedCameraEntity: `aj.${G.PROJECT_NAME}.camera.%s`,
22+
1523
activeAnim: `aj.${G.PROJECT_NAME}.animation.%s`,
16-
locatorTarget: `aj.${G.PROJECT_NAME}.locator_target`,
17-
namedLocatorTarget: `aj.${G.PROJECT_NAME}.locator_target.%s`,
18-
cameraTarget: `aj.${G.PROJECT_NAME}.camera_target`,
19-
namedCameraTarget: `aj.${G.PROJECT_NAME}.camera_target.%s`,
2024
disableCommandKeyframes: `aj.${G.PROJECT_NAME}.disable_command_keyframes`,
2125
}
2226
}

exporters/datapackExporter/exporter/gen/entity_types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@ export function generateEntityTypes(folders: IFolders) {
1212
.newFolder('entity_types')
1313
.chainNewFile('root.json', { replace: false, values: ['minecraft:item_display'] })
1414
.chainNewFile('bone.json', { replace: false, values: ['minecraft:item_display'] })
15-
.chainNewFile('locator.json', { replace: false, values: ['minecraft:snowball'] })
16-
.chainNewFile('camera.json', { replace: false, values: ['minecraft:snowball'] })
15+
.chainNewFile('locator_origin.json', { replace: false, values: ['minecraft:snowball'] })
16+
.chainNewFile('camera_origin.json', { replace: false, values: ['minecraft:snowball'] })
1717
}

exporters/datapackExporter/exporter/gen/function_tags.ts

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -29,35 +29,35 @@ export function generateTags(folders: IFolders) {
2929
.chainNewFile('as_root.json', { replace: false, values: [] }, tagMerger)
3030
.chainNewFile('as_rig_entities.json', { replace: false, values: [] }, tagMerger)
3131
.chainNewFile('as_bones.json', { replace: false, values: [] }, tagMerger)
32-
.chainNewFile('as_locators.json', { replace: false, values: [] }, tagMerger)
33-
.chainNewFile('as_locator_targets.json', { replace: false, values: [] }, tagMerger)
34-
.chainNewFile('as_cameras.json', { replace: false, values: [] }, tagMerger)
35-
.chainNewFile('as_camera_targets.json', { replace: false, values: [] }, tagMerger)
32+
.chainNewFile('as_locator_origins.json', { replace: false, values: [] }, tagMerger)
33+
.chainNewFile('as_locator_entities.json', { replace: false, values: [] }, tagMerger)
34+
.chainNewFile('as_camera_origins.json', { replace: false, values: [] }, tagMerger)
35+
.chainNewFile('as_camera_entities.json', { replace: false, values: [] }, tagMerger)
3636
animatedJavafunctionTagFolder
3737
.newFolder('on_tick')
3838
.chainNewFile('as_root.json', { replace: false, values: [] }, tagMerger)
3939
.chainNewFile('as_rig_entities.json', { replace: false, values: [] }, tagMerger)
4040
.chainNewFile('as_bones.json', { replace: false, values: [] }, tagMerger)
41-
.chainNewFile('as_locators.json', { replace: false, values: [] }, tagMerger)
42-
.chainNewFile('as_locator_targets.json', { replace: false, values: [] }, tagMerger)
43-
.chainNewFile('as_cameras.json', { replace: false, values: [] }, tagMerger)
44-
.chainNewFile('as_camera_targets.json', { replace: false, values: [] }, tagMerger)
41+
.chainNewFile('as_locator_origins.json', { replace: false, values: [] }, tagMerger)
42+
.chainNewFile('as_locator_entities.json', { replace: false, values: [] }, tagMerger)
43+
.chainNewFile('as_camera_origins.json', { replace: false, values: [] }, tagMerger)
44+
.chainNewFile('as_camera_entities.json', { replace: false, values: [] }, tagMerger)
4545
animatedJavafunctionTagFolder
4646
.newFolder('on_summon')
4747
.chainNewFile('as_root.json', { replace: false, values: [] }, tagMerger)
4848
.chainNewFile('as_rig_entities.json', { replace: false, values: [] }, tagMerger)
4949
.chainNewFile('as_bones.json', { replace: false, values: [] }, tagMerger)
50-
.chainNewFile('as_locators.json', { replace: false, values: [] }, tagMerger)
51-
.chainNewFile('as_locator_targets.json', { replace: false, values: [] }, tagMerger)
52-
.chainNewFile('as_cameras.json', { replace: false, values: [] }, tagMerger)
53-
.chainNewFile('as_camera_targets.json', { replace: false, values: [] }, tagMerger)
50+
.chainNewFile('as_locator_origins.json', { replace: false, values: [] }, tagMerger)
51+
.chainNewFile('as_locator_entities.json', { replace: false, values: [] }, tagMerger)
52+
.chainNewFile('as_camera_origins.json', { replace: false, values: [] }, tagMerger)
53+
.chainNewFile('as_camera_entities.json', { replace: false, values: [] }, tagMerger)
5454
animatedJavafunctionTagFolder
5555
.newFolder('on_remove')
5656
.chainNewFile('as_root.json', { replace: false, values: [] }, tagMerger)
5757
.chainNewFile('as_rig_entities.json', { replace: false, values: [] }, tagMerger)
5858
.chainNewFile('as_bones.json', { replace: false, values: [] }, tagMerger)
59-
.chainNewFile('as_locators.json', { replace: false, values: [] }, tagMerger)
60-
.chainNewFile('as_locator_targets.json', { replace: false, values: [] }, tagMerger)
61-
.chainNewFile('as_cameras.json', { replace: false, values: [] }, tagMerger)
62-
.chainNewFile('as_camera_targets.json', { replace: false, values: [] }, tagMerger)
59+
.chainNewFile('as_locator_origins.json', { replace: false, values: [] }, tagMerger)
60+
.chainNewFile('as_locator_entities.json', { replace: false, values: [] }, tagMerger)
61+
.chainNewFile('as_camera_origins.json', { replace: false, values: [] }, tagMerger)
62+
.chainNewFile('as_camera_entities.json', { replace: false, values: [] }, tagMerger)
6363
}

exporters/datapackExporter/exporter/gen/functions.ts

Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,8 @@ function generateLocatorPassenger(
9191
new deepslate.NbtList([
9292
new deepslate.NbtString(G.TAGS.new),
9393
new deepslate.NbtString(G.TAGS.rigEntity),
94-
new deepslate.NbtString(G.TAGS.locatorEntity),
95-
new deepslate.NbtString(formatStr(G.TAGS.namedLocatorEntity, [locator.name])),
94+
new deepslate.NbtString(G.TAGS.locatorOrigin),
95+
new deepslate.NbtString(formatStr(G.TAGS.namedLocatorOrigin, [locator.name])),
9696
])
9797
)
9898
.set(
@@ -125,12 +125,12 @@ function generateLocatorPassenger(
125125
)
126126
)
127127

128-
const locatorTargetNbt = (deepslate.NbtTag.fromString(locator.nbt) as NbtCompound)
128+
const locatorEntityNbt = (deepslate.NbtTag.fromString(locator.nbt) as NbtCompound)
129129
.set(
130130
'Tags',
131131
new deepslate.NbtList([
132-
new deepslate.NbtString(G.TAGS.locatorTarget),
133-
new deepslate.NbtString(formatStr(G.TAGS.namedLocatorTarget, [locator.name])),
132+
new deepslate.NbtString(G.TAGS.locatorEntity),
133+
new deepslate.NbtString(formatStr(G.TAGS.namedLocatorEntity, [locator.name])),
134134
new deepslate.NbtString(G.TAGS.new),
135135
])
136136
)
@@ -145,7 +145,7 @@ function generateLocatorPassenger(
145145
'',
146146
{ text: `${G.PROJECT_NAME}`, color: 'light_purple' },
147147
`.`,
148-
{ text: `locatorTarget`, color: 'white' },
148+
{ text: `locatorEntity`, color: 'white' },
149149
`[`,
150150
{ text: `${locator.name}`, color: 'yellow' },
151151
`]`,
@@ -164,25 +164,25 @@ function generateLocatorPassenger(
164164
}
165165
internalSummonFolder
166166
.newFolder('locator_' + locator.name)
167-
// ANCHOR - function G.PROJECT_PATH/summon/locator_<locator_name>/as_locator
168-
.chainNewFile('as_locator.mcfunction', [
169-
// `say Origin`,
170-
`summon ${locator.entity_type} ~ ~ ~ ${locatorTargetNbt.toString()}`,
171-
`execute as @e[type=${locator.entity_type},tag=${formatStr(G.TAGS.namedLocatorTarget, [
167+
// ANCHOR - function G.PROJECT_PATH/summon/locator_<locator_name>/as_origin
168+
.chainNewFile('as_origin.mcfunction', [
169+
// `say Locator Origin`,
170+
`summon ${locator.entity_type} ~ ~ ~ ${locatorEntityNbt.toString()}`,
171+
`execute as @e[type=${locator.entity_type},tag=${formatStr(G.TAGS.namedLocatorEntity, [
172172
locator.name,
173-
])},tag=${G.TAGS.new},limit=1,distance=..0.1] run function ${
174-
G.PROJECT_PATH
175-
}/summon/locator_${locator.name}/as_target`,
173+
])},tag=${G.TAGS.new},limit=1,distance=..1] run function ${
174+
G.INTERNAL_PATH
175+
}/summon/locator_${locator.name}/as_entity`,
176176
`data modify entity @s Owner set from storage animated_java Owner`,
177177
`data remove storage animated_java Owner`,
178-
// `execute on origin run say locatorTarget for ${locator.name}`,
179178
])
180-
// ANCHOR - function G.PROJECT_PATH/summon/locator_<locator_name>/as_target
181-
.chainNewFile('as_target.mcfunction', [
179+
// ANCHOR - function G.PROJECT_PATH/summon/locator_<locator_name>/as_entity
180+
.chainNewFile('as_entity.mcfunction', [
181+
// `say Locator Entity`,
182182
locatorToString(G.exportData.rig.defaultPose.find(v => v.uuid === uuid)),
183183
`data modify storage animated_java Owner set from entity @s UUID`,
184184
`tag @s remove ${G.TAGS.new}`,
185-
`function #${G.PROJECT_PATH}/on_summon/as_locator_targets`,
185+
`function #${G.PROJECT_PATH}/on_summon/as_locator_entities`,
186186
])
187187

188188
return passenger
@@ -204,8 +204,8 @@ function generateCameraPassenger(
204204
new deepslate.NbtList([
205205
new deepslate.NbtString(G.TAGS.new),
206206
new deepslate.NbtString(G.TAGS.rigEntity),
207-
new deepslate.NbtString(G.TAGS.cameraEntity),
208-
new deepslate.NbtString(formatStr(G.TAGS.namedCameraEntity, [camera.name])),
207+
new deepslate.NbtString(G.TAGS.cameraOrigin),
208+
new deepslate.NbtString(formatStr(G.TAGS.namedCameraOrigin, [camera.name])),
209209
])
210210
)
211211
.set(
@@ -238,12 +238,12 @@ function generateCameraPassenger(
238238
)
239239
)
240240

241-
const cameraTargetNbt = (deepslate.NbtTag.fromString(camera.nbt) as NbtCompound)
241+
const cameraNbt = (deepslate.NbtTag.fromString(camera.nbt) as NbtCompound)
242242
.set(
243243
'Tags',
244244
new deepslate.NbtList([
245-
new deepslate.NbtString(G.TAGS.locatorTarget),
246-
new deepslate.NbtString(formatStr(G.TAGS.namedLocatorTarget, [camera.name])),
245+
new deepslate.NbtString(G.TAGS.cameraEntity),
246+
new deepslate.NbtString(formatStr(G.TAGS.namedCameraEntity, [camera.name])),
247247
new deepslate.NbtString(G.TAGS.new),
248248
])
249249
)
@@ -258,7 +258,7 @@ function generateCameraPassenger(
258258
'',
259259
{ text: `${G.PROJECT_NAME}`, color: 'light_purple' },
260260
`.`,
261-
{ text: `locatorTarget`, color: 'white' },
261+
{ text: `camera`, color: 'white' },
262262
`[`,
263263
{ text: `${camera.name}`, color: 'yellow' },
264264
`]`,
@@ -277,25 +277,25 @@ function generateCameraPassenger(
277277
}
278278
internalSummonFolder
279279
.newFolder('camera_' + camera.name)
280-
// ANCHOR - function G.PROJECT_PATH/summon/camera_<camera_name>/as_camera
281-
.chainNewFile('as_camera.mcfunction', [
282-
// `say Origin`,
283-
`summon ${camera.entity_type} ~ ~ ~ ${cameraTargetNbt.toString()}`,
284-
`execute as @e[type=${camera.entity_type},tag=${formatStr(G.TAGS.namedCameraTarget, [
280+
// ANCHOR - function G.PROJECT_PATH/summon/camera_<camera_name>/as_origin
281+
.chainNewFile('as_origin.mcfunction', [
282+
// `say Camera Origin`,
283+
`summon ${camera.entity_type} ~ ~ ~ ${cameraNbt.toString()}`,
284+
`execute as @e[type=${camera.entity_type},tag=${formatStr(G.TAGS.namedCameraEntity, [
285285
camera.name,
286-
])},tag=${G.TAGS.new},limit=1,distance=..0.1] run function ${
287-
G.PROJECT_PATH
288-
}/summon/camera_${camera.name}/as_target`,
286+
])},tag=${G.TAGS.new},limit=1,distance=..1] run function ${
287+
G.INTERNAL_PATH
288+
}/summon/camera_${camera.name}/as_entity`,
289289
`data modify entity @s Owner set from storage animated_java Owner`,
290290
`data remove storage animated_java Owner`,
291-
// `execute on origin run say cameraTarget for ${camera.name}`,
292291
])
293-
// ANCHOR - function G.PROJECT_PATH/summon/camera_<camera_name>/as_target
294-
.chainNewFile('as_target.mcfunction', [
292+
// ANCHOR - function G.PROJECT_PATH/summon/camera_<camera_name>/as_entity
293+
.chainNewFile('as_entity.mcfunction', [
294+
// `say Camera Entity`,
295295
cameraToString(G.exportData.rig.defaultPose.find(v => v.uuid === uuid)),
296296
`data modify storage animated_java Owner set from entity @s UUID`,
297297
`tag @s remove ${G.TAGS.new}`,
298-
`function #${G.PROJECT_PATH}/on_summon/as_camera_targets`,
298+
`function #${G.PROJECT_PATH}/on_summon/as_camera_entities`,
299299
])
300300

301301
return passenger
@@ -527,47 +527,47 @@ export function generateFunctions(folders: IFolders) {
527527
`function #${G.PROJECT_PATH}/on_summon/as_rig_entities`,
528528
`execute if entity @s[tag=${G.TAGS.boneEntity}] run function #${G.INTERNAL_PATH}/on_summon/as_bones`,
529529
locatorCount > 0
530-
? `execute if entity @s[tag=${G.TAGS.locatorEntity}] run function ${G.INTERNAL_PATH}/summon/as_locators`
530+
? `execute if entity @s[tag=${G.TAGS.locatorOrigin}] run function ${G.INTERNAL_PATH}/summon/as_locator_origins`
531531
: undefined,
532532
cameraCount > 0
533-
? `execute if entity @s[tag=${G.TAGS.cameraEntity}] run function ${G.INTERNAL_PATH}/summon/as_cameras`
533+
? `execute if entity @s[tag=${G.TAGS.cameraOrigin}] run function ${G.INTERNAL_PATH}/summon/as_camera_origins`
534534
: undefined,
535535
])
536536

537537
if (locatorCount > 0)
538538
internalSummonFolder
539-
// ANCHOR - function G.INTERNAL_FUNCTIONS/summon/as_locators
540-
.chainNewFile('as_locators.mcfunction', [
539+
// ANCHOR - function G.INTERNAL_FUNCTIONS/summon/as_locator_origins
540+
.chainNewFile('as_locator_origins.mcfunction', [
541541
...Object.values(G.exportData.rig.nodeMap)
542542
.map(locator =>
543543
locator.type === 'locator'
544-
? `execute if entity @s[tag=${formatStr(G.TAGS.namedLocatorEntity, [
544+
? `execute if entity @s[tag=${formatStr(G.TAGS.namedLocatorOrigin, [
545545
locator.name,
546546
])}] run function ${G.INTERNAL_PATH}/summon/locator_${
547547
locator.name
548548
}/as_origin`
549549
: ''
550550
)
551551
.filter(v => v),
552-
`function #${G.PROJECT_PATH}/on_summon/as_locators`,
552+
`function #${G.PROJECT_PATH}/on_summon/as_locator_origins`,
553553
])
554554

555555
if (cameraCount > 0)
556556
internalSummonFolder
557-
// ANCHOR - function G.INTERNAL_FUNCTIONS/summon/as_cameras
558-
.chainNewFile('as_cameras.mcfunction', [
557+
// ANCHOR - function G.INTERNAL_FUNCTIONS/summon/as_camera_origins
558+
.chainNewFile('as_camera_origins.mcfunction', [
559559
...Object.values(G.exportData.rig.nodeMap)
560560
.map(camera =>
561561
camera.type === 'camera'
562-
? `execute if entity @s[tag=${formatStr(G.TAGS.namedCameraEntity, [
562+
? `execute if entity @s[tag=${formatStr(G.TAGS.namedCameraOrigin, [
563563
camera.name,
564564
])}] run function ${G.INTERNAL_PATH}/summon/camera_${
565565
camera.name
566566
}/as_origin`
567567
: ''
568568
)
569569
.filter(v => v),
570-
`function #${G.PROJECT_PATH}/on_summon/as_cameras`,
570+
`function #${G.PROJECT_PATH}/on_summon/as_camera_origins`,
571571
])
572572

573573
// ANCHOR - function G.PROJECT_PATH/summon/<variant_name>

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"type": "module",
33
"name": "animated_java",
44
"title": "Animated Java",
5-
"version": "0.4.1",
5+
"version": "0.4.2",
66
"min_blockbench_version": "4.6.5",
77
"author": {
88
"name": "Titus Evans (SnaveSutit)",

0 commit comments

Comments
 (0)