Romyx commited on
Commit
42a1498
·
verified ·
1 Parent(s): b309cf2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -6
app.py CHANGED
@@ -1,10 +1,11 @@
1
  import gradio as gr
2
  import subprocess
3
  import os
 
4
 
5
- version_id = "1.21.11"
6
 
7
- # Глобальная переменная для процесса
 
8
  process = None
9
 
10
  def download_playit():
@@ -12,7 +13,7 @@ def download_playit():
12
  url = "https://github.com/playit-cloud/playit-minecraft-plugin/releases/latest/download/playit-minecraft-plugin.jar"
13
  os.system(f"curl -L -o plugins/playit-minecraft-plugin.jar {url}")
14
 
15
- def download_server():
16
  if not os.path.exists("server.jar"):
17
  url = f"https://api.purpurmc.org/v2/purpur/{version_id}/latest/download"
18
  os.system(f"curl -L -o server.jar {url}")
@@ -20,9 +21,9 @@ def download_server():
20
  with open("eula.txt", "w") as f:
21
  f.write("eula=true")
22
 
23
- def start_mc(ram):
24
  global process
25
- download_server()
26
  download_playit()
27
 
28
  process = subprocess.Popen(
@@ -77,6 +78,12 @@ with gr.Blocks() as demo:
77
 
78
  status_msg = gr.Markdown("")
79
 
 
 
 
 
 
 
80
  # Вкладка 2: Редактор конфига
81
  with gr.Tab("Настройки"):
82
  prop_editor = gr.Textbox(
@@ -91,7 +98,7 @@ with gr.Blocks() as demo:
91
  prop_status = gr.Markdown("")
92
 
93
  # Логика Консоли
94
- start_btn.click(start_mc, inputs=[ram_slider], outputs=[logs])
95
  send_btn.click(send_command, inputs=[cmd_input], outputs=[status_msg])
96
  send_btn.click(lambda: "", None, cmd_input)
97
 
 
1
  import gradio as gr
2
  import subprocess
3
  import os
4
+ import requests
5
 
 
6
 
7
+ versions = requests.get("https://api.purpurmc.org/v2/purpur/").json()['versions']
8
+
9
  process = None
10
 
11
  def download_playit():
 
13
  url = "https://github.com/playit-cloud/playit-minecraft-plugin/releases/latest/download/playit-minecraft-plugin.jar"
14
  os.system(f"curl -L -o plugins/playit-minecraft-plugin.jar {url}")
15
 
16
+ def download_server(version_id: str):
17
  if not os.path.exists("server.jar"):
18
  url = f"https://api.purpurmc.org/v2/purpur/{version_id}/latest/download"
19
  os.system(f"curl -L -o server.jar {url}")
 
21
  with open("eula.txt", "w") as f:
22
  f.write("eula=true")
23
 
24
+ def start_mc(ram, version: str):
25
  global process
26
+ download_server(version)
27
  download_playit()
28
 
29
  process = subprocess.Popen(
 
78
 
79
  status_msg = gr.Markdown("")
80
 
81
+ version_dropdown = gr.Dropdown(
82
+ choices=versions,
83
+ value=versions[-1],
84
+ label="Версия Minecraft (Purpur)"
85
+ )
86
+
87
  # Вкладка 2: Редактор конфига
88
  with gr.Tab("Настройки"):
89
  prop_editor = gr.Textbox(
 
98
  prop_status = gr.Markdown("")
99
 
100
  # Логика Консоли
101
+ start_btn.click(start_mc, inputs=[ram_slider, version_dropdown], outputs=[logs])
102
  send_btn.click(send_command, inputs=[cmd_input], outputs=[status_msg])
103
  send_btn.click(lambda: "", None, cmd_input)
104