Skip to content
This repository has been archived by the owner on Jun 23, 2024. It is now read-only.

Commit

Permalink
Release 1.0.2
Browse files Browse the repository at this point in the history
  • Loading branch information
XavierWah committed Mar 20, 2022
1 parent 8aabfa9 commit f995956
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 48 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
/makezip/__pycache__/*
/makezip/__pycache__/*
/plugin/*-pre*
2 changes: 2 additions & 0 deletions lang/en_us.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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."
2 changes: 2 additions & 0 deletions lang/zh_cn.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@ leader_reforged:
unmark: "{} 不再是导游了。"
being_marked: "你成为导游了。"
being_unmarked: "你不再是导游了。"
leaders: "所有的导游:{}。"
error:
usage: "未知用法。"
player_not_found: "未找到玩家。"
max_limit_reached: "领队数量已达到上限。"
plugin:
help_message: "选择是否成为导游。"
75 changes: 29 additions & 46 deletions leader_reforged/__init__.py
Original file line number Diff line number Diff line change
@@ -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))
Expand All @@ -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
# 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
2 changes: 1 addition & 1 deletion mcdreforged.plugin.json
Original file line number Diff line number Diff line change
@@ -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.",
Expand Down
Binary file added plugin/leader_reforged-v1.0.2.mcdr
Binary file not shown.

0 comments on commit f995956

Please sign in to comment.