From 7d9388879857e002740144b9c261c10f1e5eeca4 Mon Sep 17 00:00:00 2001 From: Tanner Collin Date: Sun, 6 Sep 2020 16:10:00 -0600 Subject: [PATCH] Integrate pyCraft loggin in with Flask --- main.py | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/main.py b/main.py index 8aee834..9c5eef9 100644 --- a/main.py +++ b/main.py @@ -1,8 +1,56 @@ from flask import Flask app = Flask(__name__) +USERNAME = '' +PASSWORD = '' +SERVER = '' + +from custom.managers import DataManager, ChunksManager + +from minecraft import authentication +from minecraft.exceptions import YggdrasilError +from minecraft.networking.connection import Connection +from minecraft.networking.packets import Packet, clientbound, serverbound + @app.route('/') def hello_world(): return 'Hello, World!' -app.run() +def main(): + mcdata = DataManager('./mcdata') + + auth_token = authentication.AuthenticationToken() + try: + auth_token.authenticate(USERNAME, PASSWORD) + except YggdrasilError as e: + print(e) + sys.exit() + print("Logged in as %s..." % auth_token.username) + connection = Connection( + SERVER, 25565, auth_token=auth_token) + + def handle_join_game(join_game_packet): + print('Connected.') + + connection.register_packet_listener( + handle_join_game, clientbound.play.JoinGamePacket) + + def print_chat(chat_packet): + print("Message (%s): %s" % ( + chat_packet.field_string('position'), chat_packet.json_data)) + + connection.register_packet_listener( + print_chat, clientbound.play.ChatMessagePacket) + + chunks = ChunksManager(mcdata) + chunks.register(connection) + + connection.connect() + + print('connected') + + app.run() + + +if __name__ == '__main__': + main()