mirror of
https://github.com/bombsquad-community/plugin-manager.git
synced 2025-10-08 14:54:36 +00:00
Merge pull request #386 from im-yellow/main
just a new feature for random_join.py :)
This commit is contained in:
commit
0bffcc0a67
2 changed files with 34 additions and 1 deletions
|
|
@ -279,6 +279,12 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"versions": {
|
"versions": {
|
||||||
|
"1.1.1": {
|
||||||
|
"api_version": 9,
|
||||||
|
"commit_sha": "0d6bd1b",
|
||||||
|
"released_on": "17-07-2025",
|
||||||
|
"md5sum": "ea9260deb1fbd2b09c756f26434176b8"
|
||||||
|
},
|
||||||
"1.1.0": {
|
"1.1.0": {
|
||||||
"api_version": 9,
|
"api_version": 9,
|
||||||
"commit_sha": "bb129cc",
|
"commit_sha": "bb129cc",
|
||||||
|
|
|
||||||
|
|
@ -93,7 +93,8 @@ class NewPublicGatherTab(PublicGatherTab, PingThread):
|
||||||
def _join_random_server(self) -> None:
|
def _join_random_server(self) -> None:
|
||||||
name_prefixes = set()
|
name_prefixes = set()
|
||||||
parties = [p for p in self._get_parties_list() if
|
parties = [p for p in self._get_parties_list() if
|
||||||
(p.size >= randomjoin.minimum_players
|
(randomjoin.party_name_contains in p.name
|
||||||
|
and p.size >= randomjoin.minimum_players
|
||||||
and p.size < p.size_max and (randomjoin.maximum_ping == 9999
|
and p.size < p.size_max and (randomjoin.maximum_ping == 9999
|
||||||
or (p.ping is not None
|
or (p.ping is not None
|
||||||
and p.ping <= randomjoin.maximum_ping)))]
|
and p.ping <= randomjoin.maximum_ping)))]
|
||||||
|
|
@ -195,6 +196,26 @@ class RandomJoinSettingsPopup(bui.Window):
|
||||||
max_chars=4,
|
max_chars=4,
|
||||||
)
|
)
|
||||||
v -= 60
|
v -= 60
|
||||||
|
bui.textwidget(
|
||||||
|
parent=self._root_widget,
|
||||||
|
size=(0, 0),
|
||||||
|
h_align='right',
|
||||||
|
v_align='center',
|
||||||
|
text='Party name contains',
|
||||||
|
maxwidth=c_width * 0.3,
|
||||||
|
position=(c_width * 0.4, v),
|
||||||
|
)
|
||||||
|
self._party_name_contains_edit = bui.textwidget(
|
||||||
|
parent=self._root_widget,
|
||||||
|
size=(c_width * 0.3, 40),
|
||||||
|
h_align='left',
|
||||||
|
v_align='center',
|
||||||
|
text=str(randomjoin.party_name_contains),
|
||||||
|
editable=True,
|
||||||
|
description='Party name contains your input',
|
||||||
|
position=(c_width * 0.6, v - 20),
|
||||||
|
autoselect=True,
|
||||||
|
)
|
||||||
|
|
||||||
# Cancel button.
|
# Cancel button.
|
||||||
self.cancel_button = btn = bui.buttonwidget(
|
self.cancel_button = btn = bui.buttonwidget(
|
||||||
|
|
@ -239,6 +260,7 @@ class RandomJoinSettingsPopup(bui.Window):
|
||||||
color=(1, 0, 0))
|
color=(1, 0, 0))
|
||||||
bui.getsound('error').play()
|
bui.getsound('error').play()
|
||||||
errored = True
|
errored = True
|
||||||
|
party_name_contains = bui.textwidget(query=self._party_name_contains_edit)
|
||||||
if errored:
|
if errored:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
@ -264,6 +286,7 @@ class RandomJoinSettingsPopup(bui.Window):
|
||||||
|
|
||||||
randomjoin.maximum_ping = maximum_ping
|
randomjoin.maximum_ping = maximum_ping
|
||||||
randomjoin.minimum_players = minimum_players
|
randomjoin.minimum_players = minimum_players
|
||||||
|
randomjoin.party_name_contains = party_name_contains
|
||||||
|
|
||||||
randomjoin.commit_config()
|
randomjoin.commit_config()
|
||||||
bui.getsound('shieldUp').play()
|
bui.getsound('shieldUp').play()
|
||||||
|
|
@ -282,16 +305,19 @@ class RandomJoin:
|
||||||
self.cached_parties: list[PartyEntry] = []
|
self.cached_parties: list[PartyEntry] = []
|
||||||
self.maximum_ping: int = 9999
|
self.maximum_ping: int = 9999
|
||||||
self.minimum_players: int = 2
|
self.minimum_players: int = 2
|
||||||
|
self.party_name_contains: str = 'FFA @'
|
||||||
self.load_config()
|
self.load_config()
|
||||||
|
|
||||||
def load_config(self) -> None:
|
def load_config(self) -> None:
|
||||||
cfg = babase.app.config.get('Random Join', {
|
cfg = babase.app.config.get('Random Join', {
|
||||||
'maximum_ping': self.maximum_ping,
|
'maximum_ping': self.maximum_ping,
|
||||||
'minimum_players': self.minimum_players,
|
'minimum_players': self.minimum_players,
|
||||||
|
'party_name_contains': self.party_name_contains,
|
||||||
})
|
})
|
||||||
try:
|
try:
|
||||||
self.maximum_ping = cfg['maximum_ping']
|
self.maximum_ping = cfg['maximum_ping']
|
||||||
self.minimum_players = cfg['minimum_players']
|
self.minimum_players = cfg['minimum_players']
|
||||||
|
self.party_name_contains = cfg['party_name_contains']
|
||||||
except KeyError:
|
except KeyError:
|
||||||
bui.screenmessage('Error: RandomJoin config is broken, resetting..',
|
bui.screenmessage('Error: RandomJoin config is broken, resetting..',
|
||||||
color=(1, 0, 0), log=True)
|
color=(1, 0, 0), log=True)
|
||||||
|
|
@ -302,6 +328,7 @@ class RandomJoin:
|
||||||
babase.app.config['Random Join'] = {
|
babase.app.config['Random Join'] = {
|
||||||
'maximum_ping': self.maximum_ping,
|
'maximum_ping': self.maximum_ping,
|
||||||
'minimum_players': self.minimum_players,
|
'minimum_players': self.minimum_players,
|
||||||
|
'party_name_contains': self.party_name_contains,
|
||||||
}
|
}
|
||||||
babase.app.config.commit()
|
babase.app.config.commit()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue