Skip to content

Commit 06d31cb

Browse files
committed
tracking_range
replaces #2
1 parent 0a6c3f5 commit 06d31cb

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

scripts/dmodels_main.dsc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@
6969
# Input definitions:
7070
# model_name: The name of the model to spawn, must already be loaded via 'dmodels_load_model'.
7171
# location: The location to spawn the model at.
72+
# tracking_range: (OPTIONAL) can override the global tracking_range setting in the config below per-model if desired.
7273
# Supplies determination: EntityTag of the model root entity.
7374
# dmodels_delete
7475
# Usage: Deletes a spawned model.
@@ -97,3 +98,10 @@
9798
#
9899
################################################
99100

101+
dmodels_config:
102+
type: data
103+
debug: false
104+
# You can optionally set a tracking range for all properly-spawned model entities.
105+
# If set to 0, will use the server default for armor stands.
106+
# You can instead set to a value like 16 for only short range visibility, or 128 for super long range, or any other number.
107+
tracking_range: 0

scripts/dmodels_spawning.dsc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ dmodels_spawn_model:
5757
- flag <entry[root].spawned_entity> dmodel_model_id:<[model_name]>
5858
- define parentage <map>
5959
- define model_data <server.flag[dmodels_data.model_<[model_name]>]>
60+
- define tracking_range <[tracking_range].if_null[<script[dmodels_config].data_key[tracking_range]>]>
6061
- foreach <[model_data]> key:id as:part:
6162
- define rots <[part.rotation].split[,].parse[to_radians]>
6263
- define pose <[rots].get[1].mul[-1]>,<[rots].get[2].mul[-1]>,<[rots].get[3]>
@@ -75,6 +76,8 @@ dmodels_spawn_model:
7576
- if !<[part.item].exists>:
7677
- foreach next
7778
- spawn dmodel_part_stand[equipment=[helmet=<[part.item]>];armor_pose=[head=<[new_rot].xyz>]] <[center].add[<[new_pos].div[16].rotate_around_y[<[yaw_mod].mul[-1]>]>]> save:spawned
79+
- if <[tracking_range]> > 0:
80+
- adjust <entry[spawned].spawned_entity> tracking_range:<[tracking_range]>
7881
- flag <entry[spawned].spawned_entity> dmodel_def_pose:<[new_rot].xyz>
7982
- flag <entry[spawned].spawned_entity> dmodel_def_offset:<[new_pos].div[16]>
8083
- flag <entry[spawned].spawned_entity> dmodel_root:<entry[root].spawned_entity>

0 commit comments

Comments
 (0)