From 71c82acdb155b1aeeb203c5aa31ab10dc1ebbb10 Mon Sep 17 00:00:00 2001 From: Ghoulboy78 Date: Wed, 24 Feb 2021 09:35:23 +0100 Subject: [PATCH 1/5] Update ai_tracker.sc --- .../assets/carpet/scripts/ai_tracker.sc | 139 ++++++++---------- 1 file changed, 58 insertions(+), 81 deletions(-) diff --git a/src/main/resources/assets/carpet/scripts/ai_tracker.sc b/src/main/resources/assets/carpet/scripts/ai_tracker.sc index 2e1977e3..d4462686 100644 --- a/src/main/resources/assets/carpet/scripts/ai_tracker.sc +++ b/src/main/resources/assets/carpet/scripts/ai_tracker.sc @@ -1,4 +1,4 @@ -__command() -> ' +_command() -> ' ai_tracker allows to display some extra information about various entities AI activity @@ -18,73 +18,13 @@ Current supported actions - breeding info for villagers Settings you may want to change - - toggle_boxes: hides/shows large boxes and spheres + - toggle boxes: hides/shows large boxes and spheres - update_frequency: changes update speed - clear: removes all options - transparency: default opacity of shapes, 8 for start '; -global_duration = 12; -global_interval = 10; - -global_opacity = 8; - -global_display_boxes = true; - - - -global_range = 48; - -// list of triples - [entity_type, feature, callback] -global_active_functions = []; -global_feature_switches = {}; -global_tracker_running = false; - -villager_iron_golem_spawning() -> __toggle('villager_iron_golem_spawning', null); -pathfinding() -> __toggle('pathfinding', null); -velocity() -> __toggle('velocity', null); -villager_breeding() -> __toggle('villager_breeding', null); -villager_buddy_detection() -> __toggle('villager_buddy_detection', null); -item_pickup() -> __toggle('item_pickup', null); -portal_cooldown() -> __toggle('portal_cooldown', null); -health() -> __toggle('health', null); -//xpstack() -> __toggle('xpstack', null); //1.17 feature - -toggle_boxes() -> -( - global_display_boxes = !global_display_boxes; - null; -); - -update_frequency(ticks) -> -( - if (type(ticks) != 'number' || ticks <=0 || ticks > 100, exit('Ticks needs to be a positive number from 1 to 100')); - global_interval = ticks; - global_duration = ticks + 2; - null; -); - -transparency(alpha) -> -( - if (type(alpha) != 'number' || alpha <=0 || alpha > 255, exit('Ticks needs to be a number from 0 to 255')); - global_opacity = floor(alpha); - null; -); - - - -villager_hostile_detection(hostile) -> -( - if (!has(global_hostile_to_villager:hostile), - print(player(), 'Unknown hostile that affects villagers, possible options are: '+keys(global_hostile_to_villager)); - exit(null); - ); - __toggle('villager_hostile_detection', hostile); -); - -global_entity_positions = {}; - global_functions = { 'villager_iron_golem_spawning' -> { 'villager' -> [ @@ -145,8 +85,9 @@ global_functions = { [10+half_width,10+height,10+half_width], 0x65432100, 'buddy detection', false ); + [x,y,z] = pos(e); current_id = e~'id'; - buddies = entity_area('villager', e, 10, 10, 10); + buddies = entity_area('villager', x, y+height/2, z, 10+half_width, 10+height/2, 10+half_width); nb = length(buddies); for (filter(buddies, _~'id' != current_id), visuals+=['line', global_duration, 'from', pos(e), 'to', pos(_), 'color', 0xffff00ff]; @@ -381,6 +322,57 @@ global_functions = { }, }; +global_hostile_to_villager = { + 'drowned' -> 8, + 'evoker'-> 12, + 'husk' -> 8, + 'illusioner' -> 12, + 'pillager' -> 15, + 'ravager' -> 12, + 'vex' -> 8, + 'vindicator' -> 10, + 'zoglin' -> 10, + 'zombie' -> 8, + 'zombie_villager' -> 8 +}; + + +__config() ->{ + 'commands'->{ + ''->'_command', + 'clear'->'clear', + 'toggle boxes'->_()->global_display_boxes = !global_display_boxes, + 'toggle '->['__toggle',null], + 'toggle villager '->_(d)->__toggle('villager_'+d,null), + 'toggle villager hostile_detection '->_(h)->__toggle('villager_hostile_detection',h), + 'update_frequency '->_(ticks)->(global_interval = ticks;global_duration = ticks + 2), + 'transparency '->_(alpha)->global_opacity = floor(alpha) + }, + 'arguments'->{ + 'display'->{'type'->'term','options'->['item_pickup','velocity','portal_cooldown','health','pathfinding','xpstack']}, + 'villager_display'->{'type'->'term','options'->['iron_golem_spawning','buddy_detection','hostile_detection','breeding']}, + 'ticks'->{'type'->'int','min'->0,'max'->100}, + 'alpha'->{'type'->'int','min'->0,'max'->255}, + 'hostile'->{'type'->'term','options'->keys(global_hostile_to_villager)} + } +}; + +global_duration = 12; +global_interval = 10; + +global_opacity = 8; + +global_display_boxes = true; + +global_range = 48; + +// list of triples - [entity_type, feature, callback] +global_active_functions = []; +global_feature_switches = {}; +global_tracker_running = false; + +global_entity_positions = {}; + global_villager_food = { 'bread' -> 4, 'potato' -> 1, @@ -429,20 +421,6 @@ __mark_path_element(path_element, visuals) -> ) ); -global_hostile_to_villager = { - 'drowned' -> 8, - 'evoker'-> 12, - 'husk' -> 8, - 'illusioner' -> 12, - 'pillager' -> 15, - 'ravager' -> 12, - 'vex' -> 8, - 'vindicator' -> 10, - 'zoglin' -> 10, - 'zombie' -> 8, - 'zombie_villager' -> 8 -}; - __is_hostile(v, m) -> ( mob = m~'type'; @@ -517,8 +495,9 @@ __tick_tracker() -> return() ); p = player(); + [px, py, pz] = pos(p); in_dimension(p, - for (entity_area('valid', p, global_range, global_range, global_range), + for (entity_area('valid', px, py, pz, global_range, global_range, global_range), __handle_entity(_) ) ); @@ -578,6 +557,4 @@ __handle_entity(e) -> ); ); draw_shape(shapes_to_display); -); - - +); \ No newline at end of file From 41186c1da339c6ca226efc5171108c5e32dc8fda Mon Sep 17 00:00:00 2001 From: Ghoulboy78 Date: Wed, 24 Feb 2021 12:33:50 +0100 Subject: [PATCH 2/5] using in-built distance func (cos previous one wasnt even used lol) --- src/main/resources/assets/carpet/scripts/ai_tracker.sc | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/resources/assets/carpet/scripts/ai_tracker.sc b/src/main/resources/assets/carpet/scripts/ai_tracker.sc index d4462686..9ce38942 100644 --- a/src/main/resources/assets/carpet/scripts/ai_tracker.sc +++ b/src/main/resources/assets/carpet/scripts/ai_tracker.sc @@ -1,3 +1,5 @@ +import('math','_euclidean'); + _command() -> ' ai_tracker allows to display some extra information about @@ -424,12 +426,9 @@ __mark_path_element(path_element, visuals) -> __is_hostile(v, m) -> ( mob = m~'type'; - has(global_hostile_to_villager:mob) && (sqrt(reduce(pos(v)-pos(m), _a+_*_ , 0)) <= global_hostile_to_villager:mob) + has(global_hostile_to_villager:mob) && (_euclidean(pos(v)-pos(m)) <= global_hostile_to_villager:mob) ); -__distance(v1, v2) -> sqrt(reduce(v1-v2,_a+_*_ ,0)); - - __toggle(feature, arg) -> ( From 356f3e94d6450a7a40cb173d99ebddca99a94c5b Mon Sep 17 00:00:00 2001 From: Ghoulboy Date: Tue, 2 Mar 2021 18:29:55 +0100 Subject: [PATCH 3/5] fixing editing oopsies --- src/main/resources/assets/carpet/scripts/ai_tracker.sc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/resources/assets/carpet/scripts/ai_tracker.sc b/src/main/resources/assets/carpet/scripts/ai_tracker.sc index 9ce38942..5516b3ba 100644 --- a/src/main/resources/assets/carpet/scripts/ai_tracker.sc +++ b/src/main/resources/assets/carpet/scripts/ai_tracker.sc @@ -89,7 +89,7 @@ global_functions = { ); [x,y,z] = pos(e); current_id = e~'id'; - buddies = entity_area('villager', x, y+height/2, z, 10+half_width, 10+height/2, 10+half_width); + buddies = entity_area('villager', e, 10, 10, 10); nb = length(buddies); for (filter(buddies, _~'id' != current_id), visuals+=['line', global_duration, 'from', pos(e), 'to', pos(_), 'color', 0xffff00ff]; @@ -348,7 +348,7 @@ __config() ->{ 'toggle villager '->_(d)->__toggle('villager_'+d,null), 'toggle villager hostile_detection '->_(h)->__toggle('villager_hostile_detection',h), 'update_frequency '->_(ticks)->(global_interval = ticks;global_duration = ticks + 2), - 'transparency '->_(alpha)->global_opacity = floor(alpha) + 'transparency '->_(alpha)->global_opacity = alpha }, 'arguments'->{ 'display'->{'type'->'term','options'->['item_pickup','velocity','portal_cooldown','health','pathfinding','xpstack']}, @@ -496,7 +496,7 @@ __tick_tracker() -> p = player(); [px, py, pz] = pos(p); in_dimension(p, - for (entity_area('valid', px, py, pz, global_range, global_range, global_range), + for (entity_area('valid', p, global_range, global_range, global_range), __handle_entity(_) ) ); @@ -556,4 +556,4 @@ __handle_entity(e) -> ); ); draw_shape(shapes_to_display); -); \ No newline at end of file +); From 0a5417638302f38b22886aeaf249eba6692f3429 Mon Sep 17 00:00:00 2001 From: Ghoulboy Date: Wed, 31 Mar 2021 16:05:53 +0200 Subject: [PATCH 4/5] removing random variable declaration --- src/main/resources/assets/carpet/scripts/ai_tracker.sc | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/resources/assets/carpet/scripts/ai_tracker.sc b/src/main/resources/assets/carpet/scripts/ai_tracker.sc index 5516b3ba..d24e12c1 100644 --- a/src/main/resources/assets/carpet/scripts/ai_tracker.sc +++ b/src/main/resources/assets/carpet/scripts/ai_tracker.sc @@ -494,7 +494,6 @@ __tick_tracker() -> return() ); p = player(); - [px, py, pz] = pos(p); in_dimension(p, for (entity_area('valid', p, global_range, global_range, global_range), __handle_entity(_) From e3f1302be09bc192e70d4090e599ece8702470e2 Mon Sep 17 00:00:00 2001 From: Ghoulboy Date: Thu, 8 Apr 2021 18:03:45 +0200 Subject: [PATCH 5/5] Removing random line of code... --- src/main/resources/assets/carpet/scripts/ai_tracker.sc | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/resources/assets/carpet/scripts/ai_tracker.sc b/src/main/resources/assets/carpet/scripts/ai_tracker.sc index d24e12c1..e845d58a 100644 --- a/src/main/resources/assets/carpet/scripts/ai_tracker.sc +++ b/src/main/resources/assets/carpet/scripts/ai_tracker.sc @@ -87,7 +87,6 @@ global_functions = { [10+half_width,10+height,10+half_width], 0x65432100, 'buddy detection', false ); - [x,y,z] = pos(e); current_id = e~'id'; buddies = entity_area('villager', e, 10, 10, 10); nb = length(buddies);