From f99595660a2e9b585b871b4499ac5e80bdb6a481 Mon Sep 17 00:00:00 2001 From: XavierWah Date: Sun, 20 Mar 2022 22:03:08 +0800 Subject: [PATCH] Release 1.0.2 --- .gitignore | 3 +- lang/en_us.yml | 2 + lang/zh_cn.yml | 2 + leader_reforged/__init__.py | 75 +++++++++++------------------ mcdreforged.plugin.json | 2 +- plugin/leader_reforged-v1.0.2.mcdr | Bin 0 -> 4831 bytes 6 files changed, 36 insertions(+), 48 deletions(-) create mode 100644 plugin/leader_reforged-v1.0.2.mcdr diff --git a/.gitignore b/.gitignore index 539ab1a..0310c51 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -/makezip/__pycache__/* \ No newline at end of file +/makezip/__pycache__/* +/plugin/*-pre* \ No newline at end of file diff --git a/lang/en_us.yml b/lang/en_us.yml index 7852fab..56e44e3 100644 --- a/lang/en_us.yml +++ b/lang/en_us.yml @@ -4,8 +4,10 @@ leader_reforged: unmark: "{} is now no longer a leader." being_marked: "You are now a leader." being_unmarked: "You are now no longer a leader." + leaders: "All leaders: {}." error: usage: "Unknown usage." player_not_found: "Player not found." + max_limit_reached: "Max leaders reached." plugin: help_message: "Marks a leader." \ No newline at end of file diff --git a/lang/zh_cn.yml b/lang/zh_cn.yml index 4077313..6695b6e 100644 --- a/lang/zh_cn.yml +++ b/lang/zh_cn.yml @@ -4,8 +4,10 @@ leader_reforged: unmark: "{} 不再是导游了。" being_marked: "你成为导游了。" being_unmarked: "你不再是导游了。" + leaders: "所有的导游:{}。" error: usage: "未知用法。" player_not_found: "未找到玩家。" + max_limit_reached: "领队数量已达到上限。" plugin: help_message: "选择是否成为导游。" \ No newline at end of file diff --git a/leader_reforged/__init__.py b/leader_reforged/__init__.py index f4e9b57..11cf418 100644 --- a/leader_reforged/__init__.py +++ b/leader_reforged/__init__.py @@ -1,52 +1,29 @@ +import json from mcdreforged.api.all import * - -''' -LANGUAGE = { - "en_us": { - "mark": "{} is now a leader.", - "unmark": "{} is now no longer a leader.", - "being_marked": "You are now a leader.", - "being_unmarked": "You are now no longer a leader.", - "command_error": "Unknown usage.", - "player_not_found_error": "Player not found.", - "help_message": "Marks a leader." - }, - "zh_cn": { - "mark": "{} 成为导游了。", - "unmark": "{} 不再是导游了。", - "being_marked": "你成为导游了。", - "being_unmarked": "你不再是导游了。", - "command_error": "未知用法。", - "player_not_found_error": "未找到玩家。", - "help_message": "选择是否成为导游。" - } -} -''' +import os leaders = [] players = [] - -''' -try: - lang = LANGUAGE[ServerInterface.get_instance().get_mcdr_language()] -except Exception: - lang = LANGUAGE["en_us"] -''' +config = {"max_leaders": 1024} def leader(server: ServerInterface, info: Info, player: str = None): - global leaders, players - # global lang + global leaders, players, config controlled = False if player is None: player = info.player else: - if player not in players: - server.reply(info, RText(server.rtr("leader_reforged.error.player_not_found"), RColor.red)) - return + # 临时取消了玩家识别 等待更好的方案 + # if player not in players: + # server.reply(info, RText(server.rtr("leader_reforged.error.player_not_found"), RColor.red)) + # return controlled = True if info.player == player: controlled = False if player not in leaders: + if len(leaders) >= config["max_leaders"]: + server.reply(info, RText(server.rtr("leader_reforged.error.max_limit_reached"), RColor.red)) + server.reply(info, RText(server.rtr("leader_reforged.usage.leaders", " ".join(leaders)), RColor.red)) + return leaders.append(player) server.execute(f"/effect give {player} minecraft:glowing 86400 0 true") server.tell(player, RText(server.rtr("leader_reforged.usage.being_marked"), RColor.green, RStyle.italic)) @@ -70,16 +47,22 @@ def on_user_info(server: PluginServerInterface, info: Info): server.reply(info, RText(server.rtr("leader_reforged.error.usage"), RColor.red)) def on_load(server: PluginServerInterface, old): - # global lang + global config + try: + with open(os.path.join(server.get_data_folder(), 'config.json'), 'r') as file: + config = json.load(file) + except FileNotFoundError: + with open(os.path.join(server.get_data_folder(), 'config.json'), 'w') as file: + json.dump(config, file) server.register_help_message("!!leader", server.rtr("leader_reforged.plugin.help_message")) -def on_player_joined(server: PluginServerInterface, player: str, info: Info): - global players - players.append(player) - -def on_player_left(server: PluginServerInterface, player: str): - global players - try: - players.remove(player) - except Exception: - pass \ No newline at end of file +# def on_player_joined(server: PluginServerInterface, player: str, info: Info): +# global players +# players.append(player) +# +# def on_player_left(server: PluginServerInterface, player: str): +# global players +# try: +# players.remove(player) +# except Exception: +# pass \ No newline at end of file diff --git a/mcdreforged.plugin.json b/mcdreforged.plugin.json index e58f1e6..0659e2d 100644 --- a/mcdreforged.plugin.json +++ b/mcdreforged.plugin.json @@ -1,6 +1,6 @@ { "id": "leader_reforged", - "version": "1.0.1", + "version": "1.0.2", "name": "Leader Reforged", "description": { "en_us": "This is a simplified and reforged version for Leader, allowing to mark a leader.", diff --git a/plugin/leader_reforged-v1.0.2.mcdr b/plugin/leader_reforged-v1.0.2.mcdr new file mode 100644 index 0000000000000000000000000000000000000000..476e3f9ae48eef3dfd9dc1ab9088fcd2b2d48763 GIT binary patch literal 4831 zcmc&&>u(fQ6kkOAux1ex5@Y;wnSNkvHq+7&qni{Z1`>jh25QidW;5*E-44voZ0_9c z!=_2`QCb8_j67|`M<9aQRwZ?Lw8X!|kM2%e6T>Gz<2iHh?A+b$wgM(DEX?DabId(!bNhHblpmXjykB?W_>0Cu6g9-bYX z@qef;7X-@%b)tJa&LZVW~_SVV)f2^b>_>Zb90ru<5DbHy83bT^tI)W79QR| zQ(1UWUA$DCnyuWs?w>hTJ$1KI9s?Om=WbSK<|_-+mGa%{?0vsn{$uPzO#n3-0%nwW zzsu0P_lyCHvLi-+sF!BaB6UpaWG#vSsGulLLf&27U4V9HC_E7#?Wy_r#tiQrUp~I& zC-5(RH-nFD!^w99ChNlmyTO@hRI%h4c^X`i05&*eWR&<5=WE6Q8j(FE2eB1ImGar@ z_*wt*tT4Kc?idAEWRRAcKwVk*s-;LlDg=kbYl#+Ccp%lE9P_6q(M1935AR03+Jt}lK5o&U>)kdBa|Z45(*J1)=U+>(Rp0--;-Se=*?u8n95#!$w# z3KoZqFtYuDx+~v|uUx+7Uzl4tHC6rf=jBCYtdvi$Tsa>yiu97&^i#W-DNru}o@gs$ zlm4eS5ykU2RE&@}a_(ERym#~8C-pasa{RQ<(2Ct;)%Efm~@k)eTle$$CGzi*U4FVxEav`ECLlUXm@mW z?HomJljdaNB|XX@Q`6*d@c%xCQ6S(&pwnxQtD<>smB|)iDC>8->640X_Q2WsTf{OybLfA$s z<=g(H`Rdd~e|`c2T*Slj?09wJd$RQ7WOeZq|BKtz>kANs{>3}~*Aqexp3+7l9U!>i zFnO?7cLI_Mpmauy_HYuFN|8gobcjm?b;en;u@vh;giGzC=+)YR_ifj98Hh96+f{w= zC`NgSK~Uf|e(Lb+Wu*u{1su}d9r~#S=c>p{tHXqiSOFNDI!XDWo$TtCK0R6&Refm^ z@u0F#fm2iFwg&2nPYUXcF0Im1L?fDh+_fS@Tlxl%Z1jwj1KEn*At}OC@uviX4$*9h z(_~KTpt&5)a+0?OC>as-qoiOtG|P+}PeVQh4f6HZc6N4>PQt<4TC+e-ZCjr9Z^BR* zt=4-5**v4v0V#+1uuXM~8@82IV-f-(3P2?-p3()_cL0A0SuG*f(xxHvL+}|bxC8Vt zz|R6FTLb<77VxlZ{{N5*O&$Yu(J5RU`k?z_v8nZoo?se1+`4Oo9fBEynXFqV;BY9b zIffH;xbDH=$dfX=L}6wP z3S6U@uJy&F>NMTaS0}cvIX!WXh{h4*tr9n~Th!cQyN0=*M_k(sT_Kw_zz_3*sM?$j zEA|dryq~yG%95_97Y*JoN~5e|dCD`U!3`L}Y*;vwP${Moga8gadZ0N{N$luQmKHhL3r`NZd@s&;dz9%A1w6fSgDsT{bTUhYVp6D?3M`Pi zN%I-aTON!@8Fe^JMiH8-wZ7FR0lB@Yyc$;7M7)jQI0i{3N?``O5nb11;sm4mZO{jqihN?7{Z$TjgVowkk zu!z>|3Rn%#i{|bhV5$1+&%Qg;uu$Q*wp0b%>f{Viss~%=YJ1hY&IvHg5xb-y3tbQm zrXa8#g`?Ua32m%uy@`s*u%|_DDztBCdXg zS9w?42_xR$Ha1(RY>29$)q*?{^u`NPiCW03yp2#Hu;Q~N_GtHp7n_w>iyMKCxI2(r Uz`p4@eEb~z83arY!HZbzAFZGnod5s; literal 0 HcmV?d00001