Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[TUT]Jak napisać Minecraft Launcher 1.6.2+


Rekomendowane odpowiedzi

Opublikowano

Witam dziś wam pokażę jak napisać Minecraft Launcher w języku vb.net

Proszę nie prosić o source:

 

Ten temat jest ' Tutorialem ' http://pl.wikipedia.org/wiki/Tutorial
Czyli po przeczytaniu niego, powinienieś się kur**a czegoś nauczyć. A nie otworzyć projekt zmienić design i wstawić na MPC jako swój zajebisty launcher.



A więc tak jeśli robisz z auto update to możesz czytać punkt 3#

Spis treści:
1#.Elementy na Form1
2#.Kodowanie z wyjaśnieniem
3#.Auto UpDate
4#.Komplikacja i ILMerge

A więc zaczynamy!

1#

Na Form1 przesuwamy:
2x TextBox
2x Label
1x Button
1x CheckBox
Name "TextBox1" zmieniamy na "txtnick"
Name "TextBox2" zmieniamy na "txtram"
Text "Label1" zmieniamy na "Ram:"
Text "Label2" zmieniamy na "Nick:"
Text Checkbox1 zmieniamy na "Zapisz"
Ułóż to mniej więcej tak:
txtname obok Label2
txtram obok Label1

1378391453-U126762.png

2#

No to teraz kodowanie
Pierwsze co powinniśmy zrobić to dodać zapisy do My.Settings
Projekt---->Właściwości Nazwa Projektu---->Ustawienia
I dodajemy
Nazwa-Typ-Zakres-Wartość
Ram-String-Użytkownik-1024
Nick-String-Użytkownik-Nick
Czyli tak:

 

1378394917-U126762.png

Teraz zajmiemy się kodowaniem
A więc tak klikamy 2x na button1
​I powinniśmy mieć ten kod:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

End Sub

Powyższy kod zamieniamy na:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        If CheckBox1.Checked = True Then
            My.Settings.ram = txtram.TExt
            My.Settings.nick = txtnick.Text
        End If
        Dim launch As String
        Dim nick As String


        launch = "javaw -Xmx" & txtram.Text & "m -Djava.library.path=%APPDATA%\.minecraft\versions\natives -cp %APPDATA%/.minecraft/libraries/net/sf/jopt-simple/jopt-simple/4.5/jopt-simple-4.5.jar;%APPDATA%/.minecraft/libraries/com/paulscode/codecjorbis/20101023/codecjorbis-20101023.jar;%APPDATA%/.minecraft/libraries/com/paulscode/codecwav/20101023/codecwav-20101023.jar;%APPDATA%/.minecraft/libraries/com/paulscode/libraryjavasound/20101123/libraryjavasound-20101123.jar;%APPDATA%/.minecraft/libraries/com/paulscode/librarylwjglopenal/20100824/librarylwjglopenal-20100824.jar;%APPDATA%/.minecraft/libraries/com/paulscode/soundsystem/20120107/soundsystem-20120107.jar;%APPDATA%/.minecraft/libraries/org/lwjgl/lwjgl/lwjgl/2.9.0/lwjgl-2.9.0.jar;%APPDATA%/.minecraft/libraries/org/lwjgl/lwjgl/lwjgl_util/2.9.0/lwjgl_util-2.9.0.jar;%APPDATA%/.minecraft/libraries/argo/argo/2.25_fixed/argo-2.25_fixed.jar;%APPDATA%/.minecraft/libraries/org/bouncycastle/bcprov-jdk15on/1.47/bcprov-jdk15on-1.47.jar;%APPDATA%/.minecraft/libraries/com/google/guava/guava/14.0/guava-14.0.jar;%APPDATA%/.minecraft/libraries/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar;%APPDATA%/.minecraft/libraries/commons-io/commons-io/2.4/commons-io-2.4.jar;%APPDATA%/.minecraft/libraries/net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar;%APPDATA%/.minecraft/libraries/net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar;%APPDATA%/.minecraft/libraries/com/google/code/gson/gson/2.2.2/gson-2.2.2.jar;%APPDATA%/.minecraft/versions/1.6.2/1.6.2.jar net.minecraft.client.main.Main --session SessionID --version 1.6.2 --gameDir %APPDATA%/.minecraft --assetsDir %APPDATA%/.minecraft/assets "
        nick = "--username=" & txtnick.text


        Shell("cmd.exe /c" & launch & nick)
        Me.Close()
End Sub

Teraz małe wyjaśnienia:
Jeśli mamy zaznaczony "CheckBox1" to zapisze nam nick i ram
"launch" odpowiada za ścieżki do plików Minecraft które ma uruchomić i ilość ram do gry
"Shell" Uruchamia nam minecraft z danym nickiem
"Me.Close()" Zamyka nam aplikację po włączeniu Minecraft
Teraz na samej górze dodajemy

Imports System.Environment 

A teraz wczytywanie danych po włączeniu
Klikamy 2x na Form1
I powinien na się ujawnić nowy kod:

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    End Sub

Który zmieniamy na:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
     txtram.Text = My.Settings.ram
     txtnick.Text = My.Settings.nick
End Sub

Jeśli chcesz mieć auto update to wykonaj podpunkt 3#

3#
A więc teraz auto update plików minecraft
Więc zaczynamy
Najpierw pobierz Ten plik:
Sorry niemam już paczki trzeba pobrac orginalnym minecraft
Tworzymy plik "wersja.txt" i w nim wpisujemy 1.6.3
Teraz plik "minecraft.zip" i "wersja.txt" wrzucamy na nasz ftp
Teraz co powinniśmy zrobić to dodać miejsca do My.Settings
Projekt---->Właściwości (+ Nazwa naszego Projektu)---->Ustawienia
I dodajemy
Nazwa-Typ-Zakres-Wartość
Wersja-String-Użytkownik-1.6.3
Teraz do kodu

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
     txtram.Text = My.Settings.ram
     txtnick.Text = My.Settings.nick
End Sub

Dodajemy

Dim client As New Net.WebClient
Dim nowawersja As String = client.DownloadString("http://tcb-forum.pl/Download/version.txt")
If nowawersja > My.Settings.wersja Then
If MsgBox("Chcesz pobrać nową wersję?", vbQuestion + vbYesNo, "Wersja") = vbYes Then
Dim client1 As WebClient = New WebClient
Dim appData As String = GetFolderPath(SpecialFolder.ApplicationData)
client1.DownloadFileAsync(New Uri("http://tcb-forum.pl/Download/.minecraft.zip"), appData & "/minecraft.zip")
Unzip(appData & "/minecraft.zip", appData)
My.Settings.wersja = nowawersja
     Else
        MsgBox("Nowa wersja to" & nowawersja)  
     End If
End If

Czyli to powinno wyglądać tak:

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        txtram.Text = My.Settings.ram
        txtnick.Text = My.Settings.Nick
        Dim client As New Net.WebClient
        Dim nowawersja As String = client.DownloadString("http://tcb-forum.pl/Download/version.txt")
        If nowawersja > My.Settings.Wersja Then
            If MsgBox("Chcesz pobrać nową wersję?", vbQuestion + vbYesNo, "Wersja") = vbYes Then
                Dim client1 As WebClient = New WebClient
                Dim appData As String = GetFolderPath(SpecialFolder.ApplicationData)
                client1.DownloadFileAsync(New Uri("http://tcb-forum.pl/Download/.minecraft.zip"), appData & "/.minecraft.zip")
                Unzip(appData & "/minecraft.zip", appData)
                My.Settings.Wersja = nowawersja
            Else
                MsgBox("Nowa wersja to" & nowawersja)
            End If
        End If
    End Sub

Kod do auto update można dodać do drugiego buttona jakby ktoś chciał wyczyścić pliki minecraft z modów
Lub pobrać minecrafta bo nie posiada
Teraz pobieramy bibliotekę dll:
http://dotnetzip.codeplex.com/downloads/get/258012
Skan nie wiem czy potrzebny jeśli potrzebny proszę napisać posta <3
Wypakowujemy na pulpicie
i wchodzimy do folderu:
DotNetZipLib-DevKit-v1.9\zip-v1.9\Debug\
i kopjujemy plik Ionic.Zip.dll na pulpit

Teraz po kolei wybieramy
"Projekt"
następnie
"Właściwości"
następnie
"Odwołania"
następnie
"Dodaj..."
następnie
"Przeglądaj..."
I wybieramy nasz plik Ionic.Zip.dll
I klikamy "OK"
Teraz klikamy ppm w "eksplorator rozwiązania" na nazwę naszego projektu i wybieramy "Dodaj" i "Moduł" który powinien mieć nazwę "SimpleUnzip" a kod modułu powinien być taki:

 

Imports System.Environment
Imports Ionic.Zip

Module SimpleUnzip
    Public Sub Unzip(ByVal ZipToUnpack As String, ByVal DirectoryToExstractTo As String)
        Dim appData As String = GetFolderPath(SpecialFolder.ApplicationData)
        Try
            Using zip As ZipFile = ZipFile.Read(ZipToUnpack)
                Dim entry As ZipEntry
                For Each entry In zip
                    entry.Extract(DirectoryToExstractTo, ExtractExistingFileAction.OverwriteSilently)

                    System.Threading.Thread.Sleep(50)
                Next
                MsgBox("Wypakowywanie zakończone!")
            End Using
        Catch ex1 As Exception
            MsgBox("Wyjątek: " & ex1.ToString())
        End Try
    End Sub
End Module
 


4#
No to teraz komplikujemy i sprawdzamy czy niema błędów
Pobieramy ILMerge*1
Skan nie potrzeby strona microsoft
Pobieramy ILMerge GUI*2
Jeśli potrzebny skan proszę napisać posta to dodam
Najpierw instalujemy ILMerge a po zainstalowaniu ILMerge instalujemy ILMerge GUI

Teraz jak zainstalowaliśmy wszystko to włączamy ILMerge GUI
Wchodzimy do naszego projektu czyli:
Dokumęty-->Visual Studio 2012/Visual Studio 2010-->Projects-->(nazwa Naszego projektu)-->(nazwa Naszego projektu)-->bin-->Release
i przeciągamy nasz plik .exe i Ionic.Zip.dll
do ILMerge GUI do okna z napisem:"Drop assemblies here..."
Powinien być zaznaczony plik exe jeśli nie jest to proszę zaznaczyć!

1378401236-U126762.png


W output assembly wybieramy miejsce zapisu gotowego pliku .exe
I klikamy "Merge!"
I nasz Launcher został napisany


Proszę o zdjęcie tych kilku % <3

Teraz legenda:
*1-ILMerge program do łączenia plików exe i dll w jedność
*2-Dodatek do ILMerge zmieniając konsole w prosty program z GUI

Mój stary nick: damian5602
Nick League Of Legends: Sonaes

  • Odpowiedzi 89
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

Jak dla mnie trochę za szybko pojawił się gotowiec z tutorialem jak stworzyć launchera do wersji mc 1.6.2...

ale przynajmniej nie będą już zaśmiecać forum tematami, żeby ktoś im zrobił launchera bo nie znają żadnego języka / nie wiedzą co to jest lub wogóle nie wiedzą od czego zacząć.

 

Przydał mi się twój sposób na wypakowanie zip'a (nawet okazał się bardzo prosty), więc łap lajka ;)

 

Mam prośbę , ponieważ mam problem mam visual basic po angielsku

Sądze, że masz starego XP'ka, który za rok już nie będzie wspierany (dokładniej 8 kwietnia 2014 roku) i nie możesz zainstalować przez to nowszej wersji. Jeżeli nie to zastanów się nad wersją 2012 mimo nowego interfejsu, który wielu osobom nie pasuje - naprawdę warto dla spolszczenia i nowych funkcji

Opublikowano

Jak dla mnie trochę za szybko pojawił się gotowiec z tutorialem jak stworzyć launchera do wersji mc 1.6.2...

ale przynajmniej nie będą już zaśmiecać forum tematami, żeby ktoś im zrobił launchera bo nie znają żadnego języka / nie wiedzą co to jest lub wogóle nie wiedzą od czego zacząć.

 

Przydał mi się twój sposób na wypakowanie zip'a (nawet okazał się bardzo prosty), więc łap lajka ;)

 

Sądze, że masz starego XP'ka, który za rok już nie będzie wspierany (dokładniej 8 kwietnia 2014 roku) i nie możesz zainstalować przez to nowszej wersji. Jeżeli nie to zastanów się nad wersją 2012 mimo nowego interfejsu, który wielu osobom nie pasuje - naprawdę warto dla spolszczenia i nowych funkcji

Mam Windows 7 64 bit Home Premium .

Opublikowano

Kodzik mi niedziala w glowine to"

Dim LoginMC As String

Podkresla sie na zielono a nawet jak klikne start to sie nie odpala minecraft

Opublikowano
Witam poniewaz mam problem gdy probuje Debug wyskakuja 4 błedy dotyczące auto update :

GetFolderPath is not declared . it may be inaccessible due to its protection level

SpecialFolder is not declared . it may be inaccessible due to its protection level

Expression is not a method

Variable 'client' hides variable in an enclosing block
Opublikowano

Mam win7 home premium i gdy odpalam to i tak nie dziala :) Pojawia sie konsola a i tak sie nic nie odpala

Opublikowano

Mam Windows 7 64 bit Home Premium .

To dlaczego nie zainstalujesz 2012? Moim zdaniem lepiej stracić te 25min na ściągnięcie i instalacje aby używać najnowszej wersji tego microsoft'owego komplikatora a dodatkowo w języku polskim.

 

//EDIT: Chyba, że wykupiłeś licencję Ultimate lub Professional (jeżeli takie w 2010 były)...

Opublikowano

To dlaczego nie zainstalujesz 2012? Moim zdaniem lepiej stracić te 25min na ściągnięcie i instalacje aby używać najnowszej wersji tego microsoft'owego komplikatora a dodatkowo w języku polskim.

 

//EDIT: Chyba, że wykupiłeś licencję Ultimate lub Professional (jeżeli takie w 2010 były)...

Już zainstalowałem . Mi to sie tylko 5 minut pobierało

.

Opublikowano

Ni chuja , Nie dziala.

Siema jestem SamWieszKto Nie lubię MODERATORÓW/ADMINÓW

 

Dziękuje jeżeli dasz+

 

 

 

 

 

 

A najlepiej nawet jeżeli lubisz Justina Bimbera wejdź na Pajacyk.pl i klliknij na brzuszek

 

 

Jeżeli to zrobiłeś jesteś naprawde wielkoduszny naprawde ja ci dziękuje te osoby ci dziękują

 

Kto biernie akceptuje zło ten jest tak samo odpowiedzialny jak ten kto je popełnia - SamWieszKto

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...