Display some basic stats on web
This commit is contained in:
parent
963b3d9736
commit
33145cb3f2
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"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user