Display some basic stats on web
This commit is contained in:
		
							
								
								
									
										6
									
								
								main.py
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								main.py
									
									
									
									
									
								
							@@ -5,7 +5,9 @@ import traceback
 | 
				
			|||||||
import json
 | 
					import json
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from flask import Flask
 | 
					from flask import Flask
 | 
				
			||||||
 | 
					from flask_cors import CORS
 | 
				
			||||||
app = Flask(__name__)
 | 
					app = Flask(__name__)
 | 
				
			||||||
 | 
					CORS(app)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from munch import Munch
 | 
					from munch import Munch
 | 
				
			||||||
from watchdog.observers import Observer
 | 
					from watchdog.observers import Observer
 | 
				
			||||||
@@ -35,8 +37,8 @@ g.health = 20
 | 
				
			|||||||
g.food = 20
 | 
					g.food = 20
 | 
				
			||||||
g.sand_origin = None
 | 
					g.sand_origin = None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@app.route('/')
 | 
					@app.route('/api/global')
 | 
				
			||||||
def hello_world():
 | 
					def api_global():
 | 
				
			||||||
    data = json.dumps(g, default=lambda o: str(o), indent=4)
 | 
					    data = json.dumps(g, default=lambda o: str(o), indent=4)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    response = app.response_class(
 | 
					    response = app.response_class(
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,6 +11,7 @@ cryptography==3.4.7
 | 
				
			|||||||
distlib==0.3.0
 | 
					distlib==0.3.0
 | 
				
			||||||
distro==1.4.0
 | 
					distro==1.4.0
 | 
				
			||||||
Flask==1.1.2
 | 
					Flask==1.1.2
 | 
				
			||||||
 | 
					Flask-Cors==3.0.10
 | 
				
			||||||
html5lib==1.0.1
 | 
					html5lib==1.0.1
 | 
				
			||||||
idna==2.8
 | 
					idna==2.8
 | 
				
			||||||
ipaddr==2.2.0
 | 
					ipaddr==2.2.0
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,6 +6,7 @@
 | 
				
			|||||||
    "@testing-library/jest-dom": "^5.11.4",
 | 
					    "@testing-library/jest-dom": "^5.11.4",
 | 
				
			||||||
    "@testing-library/react": "^11.1.0",
 | 
					    "@testing-library/react": "^11.1.0",
 | 
				
			||||||
    "@testing-library/user-event": "^12.1.10",
 | 
					    "@testing-library/user-event": "^12.1.10",
 | 
				
			||||||
 | 
					    "axios": "^0.21.1",
 | 
				
			||||||
    "react": "^17.0.2",
 | 
					    "react": "^17.0.2",
 | 
				
			||||||
    "react-dom": "^17.0.2",
 | 
					    "react-dom": "^17.0.2",
 | 
				
			||||||
    "react-scripts": "4.0.3",
 | 
					    "react-scripts": "4.0.3",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,51 @@
 | 
				
			|||||||
 | 
					import React, { useState, useEffect } from 'react';
 | 
				
			||||||
 | 
					import axios from 'axios';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					axios.defaults.baseURL = 'http://minecraft-bot.dns.t0.vc';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function App() {
 | 
					function App() {
 | 
				
			||||||
 | 
						const [global, setGlobal] = useState(false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						useEffect(() => {
 | 
				
			||||||
 | 
							const get = async() => {
 | 
				
			||||||
 | 
								try {
 | 
				
			||||||
 | 
									const res = await axios.get('/api/global');
 | 
				
			||||||
 | 
									setGlobal(res.data);
 | 
				
			||||||
 | 
								} catch (error) {
 | 
				
			||||||
 | 
									setGlobal(false);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							const interval = setInterval(get, 500);
 | 
				
			||||||
 | 
							return () => clearInterval(interval);
 | 
				
			||||||
 | 
						}, []);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return (
 | 
						return (
 | 
				
			||||||
		<div className="app">
 | 
							<div className="app">
 | 
				
			||||||
			<p>Hello world</p>
 | 
								{global &&
 | 
				
			||||||
 | 
									<>
 | 
				
			||||||
 | 
										<p>Name: {global.name}</p>
 | 
				
			||||||
 | 
										<p>Pos: {global.pos}</p>
 | 
				
			||||||
 | 
										<p>Yaw: {global.yaw}</p>
 | 
				
			||||||
 | 
										<p>Pitch: {global.pitch}</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
										<p>Dimention: {global.dimension}</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
										<p>Players:
 | 
				
			||||||
 | 
											{Object.values(global.players).map(x =>
 | 
				
			||||||
 | 
												<div>
 | 
				
			||||||
 | 
													{global.player_names[x.player_uuid]}
 | 
				
			||||||
 | 
												</div>
 | 
				
			||||||
 | 
											)}
 | 
				
			||||||
 | 
										</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
										<p>Holding: {global.holding}</p>
 | 
				
			||||||
 | 
										<p>AFK: {`${global.afk}`}</p>
 | 
				
			||||||
 | 
										<p>Health: {global.health}</p>
 | 
				
			||||||
 | 
										<p>Food: {global.food}</p>
 | 
				
			||||||
 | 
										<p>Time: {global.time}</p>
 | 
				
			||||||
 | 
									</>
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
		</div>
 | 
							</div>
 | 
				
			||||||
	);
 | 
						);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2493,6 +2493,13 @@ axe-core@^4.0.2:
 | 
				
			|||||||
  resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.1.2.tgz#7cf783331320098bfbef620df3b3c770147bc224"
 | 
					  resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.1.2.tgz#7cf783331320098bfbef620df3b3c770147bc224"
 | 
				
			||||||
  integrity sha512-V+Nq70NxKhYt89ArVcaNL9FDryB3vQOd+BFXZIfO3RP6rwtj+2yqqqdHEkacutglPaZLkJeuXKCjCJDMGPtPqg==
 | 
					  integrity sha512-V+Nq70NxKhYt89ArVcaNL9FDryB3vQOd+BFXZIfO3RP6rwtj+2yqqqdHEkacutglPaZLkJeuXKCjCJDMGPtPqg==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					axios@^0.21.1:
 | 
				
			||||||
 | 
					  version "0.21.1"
 | 
				
			||||||
 | 
					  resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8"
 | 
				
			||||||
 | 
					  integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    follow-redirects "^1.10.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
axobject-query@^2.2.0:
 | 
					axobject-query@^2.2.0:
 | 
				
			||||||
  version "2.2.0"
 | 
					  version "2.2.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be"
 | 
					  resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be"
 | 
				
			||||||
@@ -4998,6 +5005,11 @@ follow-redirects@^1.0.0:
 | 
				
			|||||||
  resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.2.tgz#dd73c8effc12728ba5cf4259d760ea5fb83e3147"
 | 
					  resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.2.tgz#dd73c8effc12728ba5cf4259d760ea5fb83e3147"
 | 
				
			||||||
  integrity sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==
 | 
					  integrity sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					follow-redirects@^1.10.0:
 | 
				
			||||||
 | 
					  version "1.14.0"
 | 
				
			||||||
 | 
					  resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.0.tgz#f5d260f95c5f8c105894491feee5dc8993b402fe"
 | 
				
			||||||
 | 
					  integrity sha512-0vRwd7RKQBTt+mgu87mtYeofLFZpTas2S9zY+jIeuLJMNvudIgF52nr19q40HOwH5RrhWIPuj9puybzSJiRrVg==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
for-in@^1.0.2:
 | 
					for-in@^1.0.2:
 | 
				
			||||||
  version "1.0.2"
 | 
					  version "1.0.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
 | 
					  resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user