From faa4d08045df29f89680dbe6effb021efcb72bff Mon Sep 17 00:00:00 2001 From: dengrb1 <125752069+dengrb1@users.noreply.github.com> Date: Wed, 17 Jan 2024 13:42:40 +0800 Subject: [PATCH] Add files via upload --- README.md | 21 +++++++- fix.bat | 2 + kg.py | 10 ++++ pmcl.py | 133 ++++++++++++++++++++++++++++++++++++++++++++++++ pmcl_main.ui | 125 +++++++++++++++++++++++++++++++++++++++++++++ start.bat | 3 ++ start_1_8_9.bat | 16 ++++++ 7 files changed, 308 insertions(+), 2 deletions(-) create mode 100644 fix.bat create mode 100644 kg.py create mode 100644 pmcl.py create mode 100644 pmcl_main.ui create mode 100644 start.bat create mode 100644 start_1_8_9.bat diff --git a/README.md b/README.md index 7550e49..511a50b 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,19 @@ -# pmcl -用python制作的我的世界1.8.9启动器 +# Pmcl:Python minecraft launcher +------------------------- + +#### 介绍 +用python制作的我的世界1.8.9启动器 +可以把我的世界1.8.9forge版启动! +支持vape一键注入!! + + + +#### 安装教程 + +1. 从[https://gitee.com/dengrb1/pmcl/releases](http://)里下载最新版本 _**(注:文件开头是“Pmcl”全都要下载!!)**_ +2. 打开**pmcl_setup.7z.001** 文件并解压 +3. 打开安装包安装完成即可使用 + +#### 更新日志 + +1.0.0 没什么好说的,自己看 diff --git a/fix.bat b/fix.bat new file mode 100644 index 0000000..39e52eb --- /dev/null +++ b/fix.bat @@ -0,0 +1,2 @@ +set mypath=%cd% +start /d "%mypath%\fix\" server.exe \ No newline at end of file diff --git a/kg.py b/kg.py new file mode 100644 index 0000000..f57b064 --- /dev/null +++ b/kg.py @@ -0,0 +1,10 @@ +import os +import sys + + +DIR = os.getcwd() +print(DIR) + + +os.startfile('fix.bat') +os.startfile('start.bat') \ No newline at end of file diff --git a/pmcl.py b/pmcl.py new file mode 100644 index 0000000..45b22d8 --- /dev/null +++ b/pmcl.py @@ -0,0 +1,133 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'pmcl_main.ui' +# +# Created by: PyQt5 UI code generator 5.15.9 +# +# WARNING: Any manual changes made to this file will be lost when pyuic5 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt5 import QtCore, QtGui, QtWidgets +from PyQt5.QtWidgets import QMessageBox +import sys +import os + +class Ui_MainWindow(QtWidgets.QMainWindow): + def __init__(self): + super(Ui_MainWindow,self).__init__() + self.setupUi(self) + + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(475, 226) + self.centralwidget = QtWidgets.QWidget(MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.gridLayout = QtWidgets.QGridLayout(self.centralwidget) + self.gridLayout.setObjectName("gridLayout") + self.horizontalLayout_3 = QtWidgets.QHBoxLayout() + self.horizontalLayout_3.setObjectName("horizontalLayout_3") + self.label_4 = QtWidgets.QLabel(self.centralwidget) + self.label_4.setObjectName("label_4") + self.horizontalLayout_3.addWidget(self.label_4) + self.maxmb_t = QtWidgets.QLineEdit(self.centralwidget) + self.maxmb_t.setObjectName("maxmb_t") + self.horizontalLayout_3.addWidget(self.maxmb_t) + self.gridLayout.addLayout(self.horizontalLayout_3, 2, 1, 1, 1) + self.pushButton = QtWidgets.QPushButton(self.centralwidget) + self.pushButton.setObjectName("pushButton") + self.gridLayout.addWidget(self.pushButton, 4, 4, 1, 1) + self.label = QtWidgets.QLabel(self.centralwidget) + self.label.setObjectName("label") + self.gridLayout.addWidget(self.label, 0, 1, 1, 4) + self.horizontalLayout_2 = QtWidgets.QHBoxLayout() + self.horizontalLayout_2.setObjectName("horizontalLayout_2") + self.label_3 = QtWidgets.QLabel(self.centralwidget) + self.label_3.setObjectName("label_3") + self.horizontalLayout_2.addWidget(self.label_3) + self.username = QtWidgets.QLineEdit(self.centralwidget) + self.username.setObjectName("username") + self.horizontalLayout_2.addWidget(self.username) + self.gridLayout.addLayout(self.horizontalLayout_2, 2, 2, 1, 3) + spacerItem = QtWidgets.QSpacerItem(454, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.gridLayout.addItem(spacerItem, 1, 1, 1, 4) + self.horizontalLayout = QtWidgets.QHBoxLayout() + self.horizontalLayout.setObjectName("horizontalLayout") + self.label_2 = QtWidgets.QLabel(self.centralwidget) + self.label_2.setObjectName("label_2") + self.horizontalLayout.addWidget(self.label_2) + self.game_c = QtWidgets.QComboBox(self.centralwidget) + self.game_c.setObjectName("game_c") + self.game_c.addItem("") + self.game_c.addItem("") + self.horizontalLayout.addWidget(self.game_c) + self.gridLayout.addLayout(self.horizontalLayout, 3, 1, 1, 2) + self.run_game = QtWidgets.QPushButton(self.centralwidget) + self.run_game.setObjectName("run_game") + self.gridLayout.addWidget(self.run_game, 4, 3, 1, 1) + MainWindow.setCentralWidget(self.centralwidget) + self.statusbar = QtWidgets.QStatusBar(MainWindow) + self.statusbar.setObjectName("statusbar") + MainWindow.setStatusBar(self.statusbar) + self.label_3.setBuddy(self.username) + self.label_2.setBuddy(self.game_c) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + # def + def run(self): + maxmb = self.maxmb_t.text() + username_text = self.username.text() + with open("username.txt", "w") as file: + file.write(username_text) + pass + with open('maxmb.txt', 'w') as maxmb_f: + maxmb_f.write(maxmb) + version = self.game_c.currentText() + print(maxmb, username_text,version) + if version == '1.8.9 Forge': + if maxmb < '1024': + QMessageBox.critical(self, 'ERROR', '请输入大于1024的数!', QMessageBox.Ok) + else: + try: + os.startfile('start_1_8_9.bat') + except: + QMessageBox.critical(self, 'ERROR', '无法启动游戏,请尝试重新安装。') + + else: + QMessageBox.critical(self, 'ERROR', '暂未做完......', QMessageBox.Close) + return 0 + def kg(self): + QMessageBox.information(self, 'warning', '启动后请不要关闭server.exe这个程序!!!!', QMessageBox.Ok) + try: + os.startfile('kg.exe') + except: + QMessageBox.critical(self, 'ERROR', '无法启动', QMessageBox.Ok) + + + + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "Pmcl 1.0.0")) + self.label_4.setText(_translate("MainWindow", "最大内存:")) + self.maxmb_t.setText(_translate("MainWindow", "1145")) + self.pushButton.setText(_translate("MainWindow", "开vape")) + self.label.setText(_translate("MainWindow", "

python minecraft launcher v1.0.0

")) + self.label_3.setText(_translate("MainWindow", "游戏姓名:")) + self.username.setText(_translate("MainWindow", "sb001")) + self.label_2.setText(_translate("MainWindow", "

游戏版本:

")) + self.game_c.setItemText(0, _translate("MainWindow", "1.8.9 Forge")) + self.game_c.setItemText(1, _translate("MainWindow", "1.12.2 Forge")) + self.run_game.setText(_translate("MainWindow", "开始游戏")) + self.pushButton.clicked.connect(self.kg) + self.run_game.clicked.connect(self.run) + +if __name__ == '__main__': + app = QtWidgets.QApplication(sys.argv) + mainloop = QtWidgets.QMainWindow() + ui = Ui_MainWindow() + ui.setupUi(mainloop) + mainloop.show() + sys.exit(app.exec_()) \ No newline at end of file diff --git a/pmcl_main.ui b/pmcl_main.ui new file mode 100644 index 0000000..4d6d1a3 --- /dev/null +++ b/pmcl_main.ui @@ -0,0 +1,125 @@ + + + MainWindow + + + + 0 + 0 + 475 + 226 + + + + MainWindow + + + + + + + + + 最大内存: + + + + + + + 1145 + + + + + + + + + 开vape + + + + + + + <html><head/><body><p><span style=" font-size:18pt; font-weight:600; color:#1c33fe;">python minecraft launcher</span></p></body></html> + + + + + + + + + 游戏姓名: + + + username + + + + + + + sb001 + + + + + + + + + Qt::Horizontal + + + + 454 + 20 + + + + + + + + + + <html><head/><body><p><span style=" font-size:11pt;">游戏版本:</span></p></body></html> + + + game_c + + + + + + + + 1.8.9 Forge + + + + + 1.12.2 Forge + + + + + + + + + + 开始游戏 + + + + + + + + + + diff --git a/start.bat b/start.bat new file mode 100644 index 0000000..f642998 --- /dev/null +++ b/start.bat @@ -0,0 +1,3 @@ +@echo off +cd "%~dp0lite" +"Kangaroo Patcher.exe" Vape_Lite.exe diff --git a/start_1_8_9.bat b/start_1_8_9.bat new file mode 100644 index 0000000..68c482e --- /dev/null +++ b/start_1_8_9.bat @@ -0,0 +1,16 @@ +@echo off +title Run-minecraft1.8.9 +echo ϷԺ +echo %~dp0 +set APPDATA="%~dp0\.minecraft\" +set path=%~dp0 +cd /D "%~dp0\.minecraft\" + +for /F "usebackq tokens=*" %%A in ("%~dp0username.txt") do set USERNAME=%%A +for /F "usebackq tokens=*" %%A in ("%~dp0maxmb.txt") do set MAXMB=%%A + +echo %MAXMB% +echo %USERNAME% + +"%~dp0jre-x64\bin\java.exe" -XX:+UseG1GC -XX:-UseAdaptiveSizePolicy -XX:-OmitStackTraceInFastThrow -Dfml.ignoreInvalidMinecraftCertificates=True -Dfml.ignorePatchDiscrepancies=True -Dlog4j2.formatMsgNoLookups=true -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx%MAXMB%m "-Djava.library.path=%~dp0\.minecraft\versions\vapeV4.04\vapeV4.04-natives" -cp "%~dp0\.minecraft\libraries\net\minecraftforge\forge\1.8.9-11.15.1.2318-1.8.9\forge-1.8.9-11.15.1.2318-1.8.9.jar;%~dp0\.minecraft\libraries\net\minecraft\launchwrapper\1.12\launchwrapper-1.12.jar;%~dp0\.minecraft\libraries\org\ow2\asm\asm-all\5.0.3\asm-all-5.0.3.jar;%~dp0\.minecraft\libraries\jline\jline\2.13\jline-2.13.jar;%~dp0\.minecraft\libraries\com\typesafe\akka\akka-actor_2.11\2.3.3\akka-actor_2.11-2.3.3.jar;%~dp0\.minecraft\libraries\com\typesafe\config\1.2.1\config-1.2.1.jar;%~dp0\.minecraft\libraries\org\scala-lang\scala-actors-migration_2.11\1.1.0\scala-actors-migration_2.11-1.1.0.jar;%~dp0\.minecraft\libraries\org\scala-lang\scala-compiler\2.11.1\scala-compiler-2.11.1.jar;%~dp0\.minecraft\libraries\org\scala-lang\plugins\scala-continuations-library_2.11\1.0.2\scala-continuations-library_2.11-1.0.2.jar;%~dp0\.minecraft\libraries\org\scala-lang\plugins\scala-continuations-plugin_2.11.1\1.0.2\scala-continuations-plugin_2.11.1-1.0.2.jar;%~dp0\.minecraft\libraries\org\scala-lang\scala-library\2.11.1\scala-library-2.11.1.jar;%~dp0\.minecraft\libraries\org\scala-lang\scala-parser-combinators_2.11\1.0.1\scala-parser-combinators_2.11-1.0.1.jar;%~dp0\.minecraft\libraries\org\scala-lang\scala-reflect\2.11.1\scala-reflect-2.11.1.jar;%~dp0\.minecraft\libraries\org\scala-lang\scala-swing_2.11\1.0.1\scala-swing_2.11-1.0.1.jar;%~dp0\.minecraft\libraries\org\scala-lang\scala-xml_2.11\1.0.2\scala-xml_2.11-1.0.2.jar;%~dp0\.minecraft\libraries\lzma\lzma\0.0.1\lzma-0.0.1.jar;%~dp0\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\4.6\jopt-simple-4.6.jar;%~dp0\.minecraft\libraries\java3d\vecmath\1.5.2\vecmath-1.5.2.jar;%~dp0\.minecraft\libraries\net\sf\trove4j\trove4j\3.0.3\trove4j-3.0.3.jar;%~dp0\.minecraft\libraries\com\mojang\netty\1.8.8\netty-1.8.8.jar;%~dp0\.minecraft\libraries\oshi-project\oshi-core\1.1\oshi-core-1.1.jar;%~dp0\.minecraft\libraries\net\java\dev\jna\jna\3.4.0\jna-3.4.0.jar;%~dp0\.minecraft\libraries\net\java\dev\jna\platform\3.4.0\platform-3.4.0.jar;%~dp0\.minecraft\libraries\com\ibm\icu\icu4j-core-mojang\51.2\icu4j-core-mojang-51.2.jar;%~dp0\.minecraft\libraries\com\paulscode\codecjorbis\20101023\codecjorbis-20101023.jar;%~dp0\.minecraft\libraries\com\paulscode\codecwav\20101023\codecwav-20101023.jar;%~dp0\.minecraft\libraries\com\paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar;%~dp0\.minecraft\libraries\com\paulscode\librarylwjglopenal\20100824\librarylwjglopenal-20100824.jar;%~dp0\.minecraft\libraries\com\paulscode\soundsystem\20120107\soundsystem-20120107.jar;%~dp0\.minecraft\libraries\io\netty\netty-all\4.0.23.Final\netty-all-4.0.23.Final.jar;%~dp0\.minecraft\libraries\com\google\guava\guava\17.0\guava-17.0.jar;%~dp0\.minecraft\libraries\org\apache\commons\commons-lang3\3.3.2\commons-lang3-3.3.2.jar;%~dp0\.minecraft\libraries\commons-io\commons-io\2.4\commons-io-2.4.jar;%~dp0\.minecraft\libraries\commons-codec\commons-codec\1.9\commons-codec-1.9.jar;%~dp0\.minecraft\libraries\net\java\jinput\jinput\2.0.5\jinput-2.0.5.jar;%~dp0\.minecraft\libraries\net\java\jutils\jutils\1.0.0\jutils-1.0.0.jar;%~dp0\.minecraft\libraries\com\google\code\gson\gson\2.2.4\gson-2.2.4.jar;%~dp0\.minecraft\libraries\com\mojang\authlib\1.5.21\authlib-1.5.21.jar;%~dp0\.minecraft\libraries\com\mojang\realms\1.7.59\realms-1.7.59.jar;%~dp0\.minecraft\libraries\org\apache\commons\commons-compress\1.8.1\commons-compress-1.8.1.jar;%~dp0\.minecraft\libraries\org\apache\httpcomponents\httpclient\4.3.3\httpclient-4.3.3.jar;%~dp0\.minecraft\libraries\commons-logging\commons-logging\1.1.3\commons-logging-1.1.3.jar;%~dp0\.minecraft\libraries\org\apache\httpcomponents\httpcore\4.3.2\httpcore-4.3.2.jar;%~dp0\.minecraft\libraries\org\apache\logging\log4j\log4j-api\2.0-beta9\log4j-api-2.0-beta9.jar;%~dp0\.minecraft\libraries\org\apache\logging\log4j\log4j-core\2.0-beta9\log4j-core-2.0-beta9.jar;%~dp0\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl\2.9.4-nightly-20150209\lwjgl-2.9.4-nightly-20150209.jar;%~dp0\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.4-nightly-20150209\lwjgl_util-2.9.4-nightly-20150209.jar;%~dp0\.minecraft\libraries\tv\twitch\twitch\6.5\twitch-6.5.jar;%~dp0\.minecraft\libraries\optifine\OptiFine\1.8.9_HD_U_M5\OptiFine-1.8.9_HD_U_M5.jar;%~dp0\.minecraft\versions\vapeV4.04\vapeV4.04.jar" -Doolloo.jlw.tmpdir="%~dp0PCL" -jar "%~dp0PCL\JavaWrapper.jar" net.minecraft.launchwrapper.Launch --tweakClass net.minecraftforge.fml.common.launcher.FMLTweaker --username %USERNAME% --version vapeV4.04 --gameDir "%~dp0\.minecraft\versions\vapeV4.04" --assetsDir "%~dp0\.minecraft\assets" --assetIndex 1.8 --uuid 00000XXXXXXXXXXXXXXXXXXXXXX00F72 --accessToken 00000XXXXXXXXXXXXXXXXXXXXXX00F72 --userProperties {} --userType msa --height 480 --width 854 --tweakClass optifine.OptiFineForgeTweaker +echo Ϸ˳ \ No newline at end of file