From 1ff3e6f79052eb36e8b7c857d5ec3f339cc42791 Mon Sep 17 00:00:00 2001 From: DrapBS Date: Sat, 7 Feb 2026 13:20:52 +0100 Subject: [PATCH 1/2] Add files via upload --- plugins/utilities/players_list.py | 59 +++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 plugins/utilities/players_list.py diff --git a/plugins/utilities/players_list.py b/plugins/utilities/players_list.py new file mode 100644 index 00000000..3b3f1ab9 --- /dev/null +++ b/plugins/utilities/players_list.py @@ -0,0 +1,59 @@ +#======================== works only if you are host or plugin works on the server created On '2026/02/06' +#======================== + +# ba_meta require api 9 +import bascenev1 as bs +import babase + +# ba_meta export babase.Plugin +class ByDrap(bs.Plugin): + def __init__(self): + self.container = None + self.timer = None + + def on_app_running(self): + self.timer = bs.AppTimer(1.0, bs.WeakCall(self._update_list), repeat=True) + + def has_settings_ui(self): + return True + + def show_settings_ui(self, source_widget): + babase.screenmessage("You tapped my settings!") + + def _update_list(self): + activity = bs.get_foreground_host_activity() + + if activity is None: + if self.container: + self.container.delete() + self.container = None + return + + player_names = [] + for p in activity.players: + name = p.getname(full=True) + player_names.append(f" • {name}") + + header = "┏━━━━ Players  ━━━━┓\n\n" + footer = "\n\n┗━━━━━━━━━━━━━━━┛" + players_str = "\n".join(player_names) if player_names else " Wait for players..." + final_text = header + players_str + footer + + with activity.context: + if self.container is None or not self.container.exists(): + self.container = bs.newnode('text', + attrs={ + 'text': final_text, + 'scale': 0.7, + 'color': (0.5, 1.0, 0.5), + 'h_attach': 'right', + 'v_attach': 'top', + 'h_align': 'left', + 'v_align': 'top', + 'position': (-220, -100), + 'flatness': 0.0, + 'shadow': 1.0, + 'res_scale': 1.5 + }) + else: + self.container.text = final_text From 658677f05787d1e493d1625ca9389fd55aed80d5 Mon Sep 17 00:00:00 2001 From: DrapBS <260050423+DrapBS@users.noreply.github.com> Date: Sat, 7 Feb 2026 16:26:10 +0000 Subject: [PATCH 2/2] [ci] apply-plugin-metadata-and-formatting --- plugins/utilities/players_list.py | 36 ++++++++++++++++--------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/plugins/utilities/players_list.py b/plugins/utilities/players_list.py index 3b3f1ab9..b97906b3 100644 --- a/plugins/utilities/players_list.py +++ b/plugins/utilities/players_list.py @@ -1,11 +1,13 @@ -#======================== works only if you are host or plugin works on the server created On '2026/02/06' -#======================== +# ======================== works only if you are host or plugin works on the server created On '2026/02/06' +# ======================== # ba_meta require api 9 import bascenev1 as bs import babase # ba_meta export babase.Plugin + + class ByDrap(bs.Plugin): def __init__(self): self.container = None @@ -22,7 +24,7 @@ def show_settings_ui(self, source_widget): def _update_list(self): activity = bs.get_foreground_host_activity() - + if activity is None: if self.container: self.container.delete() @@ -33,7 +35,7 @@ def _update_list(self): for p in activity.players: name = p.getname(full=True) player_names.append(f" • {name}") - + header = "┏━━━━ Players  ━━━━┓\n\n" footer = "\n\n┗━━━━━━━━━━━━━━━┛" players_str = "\n".join(player_names) if player_names else " Wait for players..." @@ -42,18 +44,18 @@ def _update_list(self): with activity.context: if self.container is None or not self.container.exists(): self.container = bs.newnode('text', - attrs={ - 'text': final_text, - 'scale': 0.7, - 'color': (0.5, 1.0, 0.5), - 'h_attach': 'right', - 'v_attach': 'top', - 'h_align': 'left', - 'v_align': 'top', - 'position': (-220, -100), - 'flatness': 0.0, - 'shadow': 1.0, - 'res_scale': 1.5 - }) + attrs={ + 'text': final_text, + 'scale': 0.7, + 'color': (0.5, 1.0, 0.5), + 'h_attach': 'right', + 'v_attach': 'top', + 'h_align': 'left', + 'v_align': 'top', + 'position': (-220, -100), + 'flatness': 0.0, + 'shadow': 1.0, + 'res_scale': 1.5 + }) else: self.container.text = final_text