- Add Minecraft to inno_setup_38.iss, this will download java and forge and install them.
This commit is contained in:
parent
53fcb86174
commit
285b9e12eb
|
@ -1,54 +1,12 @@
|
||||||
# Minecraft Randomizer Setup Guide
|
# Minecraft Randomizer Setup Guide
|
||||||
|
|
||||||
|
#Automatic Hosting Install
|
||||||
|
- download and install [Archipelago](https://github.com/ArchipelagoMW/Archipelago/releases) and choose the `Minecraft Client` module
|
||||||
|
|
||||||
## Required Software
|
## Required Software
|
||||||
|
|
||||||
### Server Host
|
|
||||||
- [Minecraft Forge](https://files.minecraftforge.net/net/minecraftforge/forge/index_1.16.5.html)
|
|
||||||
- [Minecraft Archipelago Randomizer Mod](https://github.com/KonoTyran/Minecraft_AP_Randomizer/releases)
|
|
||||||
|
|
||||||
### Players
|
|
||||||
- [Minecraft Java Edition](https://www.minecraft.net/en-us/store/minecraft-java-edition)
|
- [Minecraft Java Edition](https://www.minecraft.net/en-us/store/minecraft-java-edition)
|
||||||
|
|
||||||
## Installation Procedures
|
|
||||||
|
|
||||||
### Dedicated Server Setup
|
|
||||||
Only one person has to do this setup and host a dedicated server for everyone else playing to connect to.
|
|
||||||
1. Download the 1.16.5 **Minecraft Forge** installer from the link above, making sure to download the most recent recommended version.
|
|
||||||
|
|
||||||
2. Run the `forge-1.16.5-xx.x.x-installer.jar` file and choose **install server**.
|
|
||||||
- On this page you will also choose where to install the server to remember this directory it's important in the next step.
|
|
||||||
|
|
||||||
3. Navigate to where you installed the server and open `forge-1.16.5-xx.x.x.jar`
|
|
||||||
- Upon first launch of the server it will close and ask you to accept Minecraft's EULA. There will be a new file called `eula.txt` that contains a link to Minecraft's EULA, and a line that you need to change to `eula=true` to accept Minecraft's EULA.
|
|
||||||
- This will create the appropriate directories for you to place the files in the following step.
|
|
||||||
|
|
||||||
4. Place the `aprandomizer-x.x.x.jar` from the link above file into the `mods` folder of the above installation of your forge server.
|
|
||||||
- Once again run the server, it will load up and generate the required directory `APData` for when you are ready to play a game!
|
|
||||||
|
|
||||||
### Basic Player Setup
|
|
||||||
- Purchase and install Minecraft from the above link.
|
|
||||||
|
|
||||||
**You're Done**.
|
|
||||||
|
|
||||||
Players only need to have a Vanilla unmodified version of Minecraft to play!
|
|
||||||
|
|
||||||
### Advanced Player Setup
|
|
||||||
***This is not required to play a randomized minecraft game.***
|
|
||||||
however this recommended as it helps make the experience more enjoyable.
|
|
||||||
|
|
||||||
#### Recomended Mods
|
|
||||||
- [JourneyMap](https://www.curseforge.com/minecraft/mc-mods/journeymap) (Minimap)
|
|
||||||
|
|
||||||
|
|
||||||
1. Install and run Minecraft from the link above at least once.
|
|
||||||
2. Run the `forge-1.16.5-xx.x.x-installer.jar` file and choose **install client**.
|
|
||||||
- Start Minecraft forge at least once to create the directories needed for the next steps.
|
|
||||||
3. Navigate to your minecraft install directory and place desired mods `.jar` file the in the `mods` directory.
|
|
||||||
- The default install directories are as follows.
|
|
||||||
- Windows `%APPDATA%\.minecraft\mods`
|
|
||||||
- macOS `~/Library/Application Support/minecraft/mods`
|
|
||||||
- Linux `~/.minecraft/mods`
|
|
||||||
|
|
||||||
## Configuring your YAML file
|
## Configuring your YAML file
|
||||||
|
|
||||||
### What is a YAML file and why do I need one?
|
### What is a YAML file and why do I need one?
|
||||||
|
@ -60,7 +18,7 @@ can all have different options.
|
||||||
### Where do I get a YAML file?
|
### Where do I get a YAML file?
|
||||||
A basic minecraft yaml will look like this.
|
A basic minecraft yaml will look like this.
|
||||||
```yaml
|
```yaml
|
||||||
description: Template Name
|
description: Basic Minecraft Yaml
|
||||||
# Your name in-game. Spaces will be replaced with underscores and
|
# Your name in-game. Spaces will be replaced with underscores and
|
||||||
# there is a 16 character limit
|
# there is a 16 character limit
|
||||||
name: YourName
|
name: YourName
|
||||||
|
@ -71,44 +29,61 @@ accessibility: locations
|
||||||
progression_balancing: on
|
progression_balancing: on
|
||||||
# Minecraft Specific Options
|
# Minecraft Specific Options
|
||||||
|
|
||||||
# Number of advancements required (out of 92 total) to spawn the
|
Minecraft:
|
||||||
# Ender Dragon and complete the game.
|
# Number of advancements required (87 max) to spawn the Ender Dragon and complete the game.
|
||||||
advancement_goal:
|
advancement_goal: 50
|
||||||
few: 0 #30
|
|
||||||
normal: 1 #50
|
|
||||||
many: 0 #70
|
|
||||||
|
|
||||||
# Modifies the level of items logically required for exploring
|
# Number of dragon egg shards to collect (30 max) before the Ender Dragon will spawn.
|
||||||
# dangerous areas and fighting bosses.
|
egg_shards_required: 10
|
||||||
combat_difficulty:
|
|
||||||
easy: 0
|
|
||||||
normal: 1
|
|
||||||
hard: 0
|
|
||||||
|
|
||||||
# Junk-fills certain RNG-reliant or tedious advancements with XP rewards.
|
# Number of egg shards available in the pool (30 max).
|
||||||
include_hard_advancements:
|
egg_shards_available: 15
|
||||||
on: 0
|
|
||||||
off: 1
|
|
||||||
|
|
||||||
# Junk-fills extremely difficult advancements;
|
# Modifies the level of items logically required for
|
||||||
# this is only How Did We Get Here? and Adventuring Time.
|
# exploring dangerous areas and fighting bosses.
|
||||||
include_insane_advancements:
|
combat_difficulty:
|
||||||
on: 0
|
easy: 0
|
||||||
off: 1
|
normal: 1
|
||||||
|
hard: 0
|
||||||
|
|
||||||
# Some advancements require defeating the Ender Dragon;
|
# Junk-fills certain RNG-reliant or tedious advancements.
|
||||||
# this will junk-fill them so you won't have to finish to send some items.
|
include_hard_advancements:
|
||||||
include_postgame_advancements:
|
on: 0
|
||||||
on: 0
|
off: 1
|
||||||
off: 1
|
|
||||||
|
|
||||||
#enables shuffling of villages, outposts, fortresses, bastions, and end cities.
|
# Junk-fills extremely difficult advancements;
|
||||||
shuffle_structures:
|
# this is only How Did We Get Here? and Adventuring Time.
|
||||||
on: 1
|
include_insane_advancements:
|
||||||
off: 0
|
on: 0
|
||||||
|
off: 1
|
||||||
|
|
||||||
|
# Some advancements require defeating the Ender Dragon;
|
||||||
|
# this will junk-fill them, so you won't have to finish them to send some items.
|
||||||
|
include_postgame_advancements:
|
||||||
|
on: 0
|
||||||
|
off: 1
|
||||||
|
|
||||||
|
# Enables shuffling of villages, outposts, fortresses, bastions, and end cities.
|
||||||
|
shuffle_structures:
|
||||||
|
on: 0
|
||||||
|
off: 1
|
||||||
|
|
||||||
|
# Adds structure compasses to the item pool,
|
||||||
|
# which point to the nearest indicated structure.
|
||||||
|
structure_compasses:
|
||||||
|
on: 0
|
||||||
|
off: 1
|
||||||
|
|
||||||
|
# Replaces a percentage of junk items with bee traps
|
||||||
|
# which spawn multiple angered bees around every player when received.
|
||||||
|
bee_traps:
|
||||||
|
0: 1
|
||||||
|
25: 0
|
||||||
|
50: 0
|
||||||
|
75: 0
|
||||||
|
100: 0
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## Joining a MultiWorld Game
|
## Joining a MultiWorld Game
|
||||||
|
|
||||||
### Obtain your Minecraft data file
|
### Obtain your Minecraft data file
|
||||||
|
@ -118,8 +93,7 @@ When you join a multiworld game, you will be asked to provide your YAML file to
|
||||||
is done, the host will provide you with either a link to download your data file, or with a zip file containing
|
is done, the host will provide you with either a link to download your data file, or with a zip file containing
|
||||||
everyone's data files. Your data file should have a `.apmc` extension.
|
everyone's data files. Your data file should have a `.apmc` extension.
|
||||||
|
|
||||||
Put your data file in your forge servers `APData` folder. Make sure to remove any previous data file that was in there
|
double click on your `.apmc` file to have the minecraft client auto-launch the installed forge server.
|
||||||
previously.
|
|
||||||
|
|
||||||
### Connect to the MultiServer
|
### Connect to the MultiServer
|
||||||
After having placed your data file in the `APData` folder, start the Forge server and make sure you have OP
|
After having placed your data file in the `APData` folder, start the Forge server and make sure you have OP
|
||||||
|
@ -134,3 +108,23 @@ When the console tells you that you have joined the room, you're ready to begin
|
||||||
on successfully joining a multiworld game! At this point any additional minecraft players may connect to your
|
on successfully joining a multiworld game! At this point any additional minecraft players may connect to your
|
||||||
forge server.
|
forge server.
|
||||||
|
|
||||||
|
|
||||||
|
## Manual Installation Procedures
|
||||||
|
this is only required if you wish to set up a forge install yourself, its recommended to just use the Archipelago Installer.
|
||||||
|
###Required Software
|
||||||
|
- [Minecraft Forge](https://files.minecraftforge.net/net/minecraftforge/forge/index_1.16.5.html)
|
||||||
|
- [Minecraft Archipelago Randomizer Mod](https://github.com/KonoTyran/Minecraft_AP_Randomizer/releases)
|
||||||
|
**DO NOT INSTALL THIS ON YOUR CLIENT**
|
||||||
|
### Dedicated Server Setup
|
||||||
|
Only one person has to do this setup and host a dedicated server for everyone else playing to connect to.
|
||||||
|
1. Download the 1.16.5 **Minecraft Forge** installer from the link above, making sure to download the most recent recommended version.
|
||||||
|
|
||||||
|
2. Run the `forge-1.16.5-xx.x.x-installer.jar` file and choose **install server**.
|
||||||
|
- On this page you will also choose where to install the server to remember this directory it's important in the next step.
|
||||||
|
|
||||||
|
3. Navigate to where you installed the server and open `forge-1.16.5-xx.x.x.jar`
|
||||||
|
- Upon first launch of the server it will close and ask you to accept Minecraft's EULA. There will be a new file called `eula.txt` that contains a link to Minecraft's EULA, and a line that you need to change to `eula=true` to accept Minecraft's EULA.
|
||||||
|
- This will create the appropriate directories for you to place the files in the following step.
|
||||||
|
|
||||||
|
4. Place the `aprandomizer-x.x.x.jar` from the link above file into the `mods` folder of the above installation of your forge server.
|
||||||
|
- Once again run the server, it will load up and generate the required directory `APData` for when you are ready to play a game!
|
||||||
|
|
|
@ -54,6 +54,7 @@ Name: "server"; Description: "Server"; Types: full hosting
|
||||||
Name: "client"; Description: "Clients"; Types: full playing
|
Name: "client"; Description: "Clients"; Types: full playing
|
||||||
Name: "client/lttp"; Description: "A Link to the Past"; Types: full playing hosting
|
Name: "client/lttp"; Description: "A Link to the Past"; Types: full playing hosting
|
||||||
Name: "client/factorio"; Description: "Factorio"; Types: full playing
|
Name: "client/factorio"; Description: "Factorio"; Types: full playing
|
||||||
|
Name: "client/minecraft"; Description: "Minecraft"; Types: full playing; ExtraDiskSpaceRequired: 226894278
|
||||||
|
|
||||||
[Dirs]
|
[Dirs]
|
||||||
NAME: "{app}"; Flags: setntfscompression; Permissions: everyone-modify users-modify authusers-modify;
|
NAME: "{app}"; Flags: setntfscompression; Permissions: everyone-modify users-modify authusers-modify;
|
||||||
|
@ -69,13 +70,18 @@ Source: "{#sourcepath}\ArchipelagoServer.exe"; DestDir: "{app}"; Flags: ignoreve
|
||||||
Source: "{#sourcepath}\ArchipelagoFactorioClient.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: client/factorio
|
Source: "{#sourcepath}\ArchipelagoFactorioClient.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: client/factorio
|
||||||
Source: "{#sourcepath}\ArchipelagoLttPClient.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: client/lttp
|
Source: "{#sourcepath}\ArchipelagoLttPClient.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: client/lttp
|
||||||
Source: "{#sourcepath}\ArchipelagoLttPAdjuster.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: client/lttp
|
Source: "{#sourcepath}\ArchipelagoLttPAdjuster.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: client/lttp
|
||||||
|
Source: "{#sourcepath}\ArchipelagoMinecraftClient.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: client/minecraft
|
||||||
Source: "vc_redist.x64.exe"; DestDir: {tmp}; Flags: deleteafterinstall
|
Source: "vc_redist.x64.exe"; DestDir: {tmp}; Flags: deleteafterinstall
|
||||||
|
|
||||||
|
;minecraft temp files
|
||||||
|
Source: "{tmp}\forge-installer.jar"; DestDir: "{app}"; Flags: skipifsourcedoesntexist external deleteafterinstall; Components: client/minecraft
|
||||||
|
|
||||||
[Icons]
|
[Icons]
|
||||||
Name: "{group}\{#MyAppName} Folder"; Filename: "{app}";
|
Name: "{group}\{#MyAppName} Folder"; Filename: "{app}";
|
||||||
Name: "{group}\{#MyAppName} Server"; Filename: "{app}\{#MyAppExeName}"; Components: server
|
Name: "{group}\{#MyAppName} Server"; Filename: "{app}\{#MyAppExeName}"; Components: server
|
||||||
Name: "{group}\{#MyAppName} LttP Client"; Filename: "{app}\ArchipelagoLttPClient.exe"; Components: client/lttp
|
Name: "{group}\{#MyAppName} LttP Client"; Filename: "{app}\ArchipelagoLttPClient.exe"; Components: client/lttp
|
||||||
Name: "{group}\{#MyAppName} Factorio Client"; Filename: "{app}\ArchipelagoFactorioClient.exe"; Components: client/factorio
|
Name: "{group}\{#MyAppName} Factorio Client"; Filename: "{app}\ArchipelagoFactorioClient.exe"; Components: client/factorio
|
||||||
|
Name: "{group}\{#MyAppName} Minecraft Client"; Filename: "{app}\ArchipelagoMinecraftClient.exe"; Components: client/minecraft
|
||||||
Name: "{commondesktop}\{#MyAppName} Folder"; Filename: "{app}"; Tasks: desktopicon
|
Name: "{commondesktop}\{#MyAppName} Folder"; Filename: "{app}"; Tasks: desktopicon
|
||||||
Name: "{commondesktop}\{#MyAppName} Server"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon; Components: server
|
Name: "{commondesktop}\{#MyAppName} Server"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon; Components: server
|
||||||
Name: "{commondesktop}\{#MyAppName} LttP Client"; Filename: "{app}\ArchipelagoLttPClient.exe"; Tasks: desktopicon; Components: client/lttp
|
Name: "{commondesktop}\{#MyAppName} LttP Client"; Filename: "{app}\ArchipelagoLttPClient.exe"; Tasks: desktopicon; Components: client/lttp
|
||||||
|
@ -85,6 +91,7 @@ Name: "{commondesktop}\{#MyAppName} Factorio Client"; Filename: "{app}\Archipela
|
||||||
|
|
||||||
Filename: "{tmp}\vc_redist.x64.exe"; Parameters: "/passive /norestart"; Check: IsVCRedist64BitNeeded; StatusMsg: "Installing VC++ redistributable..."
|
Filename: "{tmp}\vc_redist.x64.exe"; Parameters: "/passive /norestart"; Check: IsVCRedist64BitNeeded; StatusMsg: "Installing VC++ redistributable..."
|
||||||
Filename: "{app}\ArchipelagoLttPAdjuster"; Parameters: "--update_sprites"; StatusMsg: "Updating Sprite Library..."; Components: client/lttp or generator
|
Filename: "{app}\ArchipelagoLttPAdjuster"; Parameters: "--update_sprites"; StatusMsg: "Updating Sprite Library..."; Components: client/lttp or generator
|
||||||
|
Filename: "{app}\jre8\bin\java.exe"; Parameters: "-jar ""{app}\forge-installer.jar"" --installServer ""{app}\Minecraft Forge server"""; Flags: runhidden; Check: IsForgeNeeded(); StatusMsg: "Installing Forge Server..."; Components: client/minecraft
|
||||||
|
|
||||||
[UninstallDelete]
|
[UninstallDelete]
|
||||||
Type: dirifempty; Name: "{app}"
|
Type: dirifempty; Name: "{app}"
|
||||||
|
@ -96,6 +103,11 @@ Root: HKCR; Subkey: "{#MyAppName}patch"; ValueData: "Archipe
|
||||||
Root: HKCR; Subkey: "{#MyAppName}patch\DefaultIcon"; ValueData: "{app}\ArchipelagoLttPClient.exe,0"; ValueType: string; ValueName: ""; Components: client/lttp
|
Root: HKCR; Subkey: "{#MyAppName}patch\DefaultIcon"; ValueData: "{app}\ArchipelagoLttPClient.exe,0"; ValueType: string; ValueName: ""; Components: client/lttp
|
||||||
Root: HKCR; Subkey: "{#MyAppName}patch\shell\open\command"; ValueData: """{app}\ArchipelagoLttPClient.exe"" ""%1"""; ValueType: string; ValueName: ""; Components: client/lttp
|
Root: HKCR; Subkey: "{#MyAppName}patch\shell\open\command"; ValueData: """{app}\ArchipelagoLttPClient.exe"" ""%1"""; ValueType: string; ValueName: ""; Components: client/lttp
|
||||||
|
|
||||||
|
Root: HKCR; Subkey: ".apmc"; ValueData: "{#MyAppName}mcdata"; Flags: uninsdeletevalue; ValueType: string; ValueName: ""; Components: client/minecraft
|
||||||
|
Root: HKCR; Subkey: "{#MyAppName}mcdata"; ValueData: "Archipelago Minecraft Data"; Flags: uninsdeletekey; ValueType: string; ValueName: ""; Components: client/minecraft
|
||||||
|
Root: HKCR; Subkey: "{#MyAppName}mcdata\DefaultIcon"; ValueData: "{app}\ArchipelagoMinecraftClient.exe,0"; ValueType: string; ValueName: ""; Components: client/minecraft
|
||||||
|
Root: HKCR; Subkey: "{#MyAppName}mcdata\shell\open\command"; ValueData: """{app}\ArchipelagoMinecraftClient.exe"" ""%1"""; ValueType: string; ValueName: ""; Components: client/minecraft
|
||||||
|
|
||||||
Root: HKCR; Subkey: ".archipelago"; ValueData: "{#MyAppName}multidata"; Flags: uninsdeletevalue; ValueType: string; ValueName: ""; Components: server
|
Root: HKCR; Subkey: ".archipelago"; ValueData: "{#MyAppName}multidata"; Flags: uninsdeletevalue; ValueType: string; ValueName: ""; Components: server
|
||||||
Root: HKCR; Subkey: "{#MyAppName}multidata"; ValueData: "Archipelago Server Data"; Flags: uninsdeletekey; ValueType: string; ValueName: ""; Components: server
|
Root: HKCR; Subkey: "{#MyAppName}multidata"; ValueData: "Archipelago Server Data"; Flags: uninsdeletekey; ValueType: string; ValueName: ""; Components: server
|
||||||
Root: HKCR; Subkey: "{#MyAppName}multidata\DefaultIcon"; ValueData: "{app}\ArchipelagoServer.exe,0"; ValueType: string; ValueName: ""; Components: server
|
Root: HKCR; Subkey: "{#MyAppName}multidata\DefaultIcon"; ValueData: "{app}\ArchipelagoServer.exe,0"; ValueType: string; ValueName: ""; Components: server
|
||||||
|
@ -104,6 +116,11 @@ Root: HKCR; Subkey: "{#MyAppName}multidata\shell\open\command"; ValueData: """{
|
||||||
|
|
||||||
|
|
||||||
[Code]
|
[Code]
|
||||||
|
const
|
||||||
|
SHCONTCH_NOPROGRESSBOX = 4;
|
||||||
|
SHCONTCH_RESPONDYESTOALL = 16;
|
||||||
|
FORGE_VERSION = '1.16.5-36.2.0';
|
||||||
|
|
||||||
// See: https://stackoverflow.com/a/51614652/2287576
|
// See: https://stackoverflow.com/a/51614652/2287576
|
||||||
function IsVCRedist64BitNeeded(): boolean;
|
function IsVCRedist64BitNeeded(): boolean;
|
||||||
var
|
var
|
||||||
|
@ -124,9 +141,52 @@ begin
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function IsForgeNeeded(): boolean;
|
||||||
|
begin
|
||||||
|
Result := True;
|
||||||
|
if (FileExists(ExpandConstant('{app}')+'\Minecraft Forge Server\forge-'+FORGE_VERSION+'.jar')) then
|
||||||
|
Result := False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function IsJavaNeeded(): boolean;
|
||||||
|
begin
|
||||||
|
Result := True;
|
||||||
|
if (FileExists(ExpandConstant('{app}')+'\jre8\bin\java.exe')) then
|
||||||
|
Result := False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function OnDownloadMinecraftProgress(const Url, FileName: String; const Progress, ProgressMax: Int64): Boolean;
|
||||||
|
begin
|
||||||
|
if Progress = ProgressMax then
|
||||||
|
Log(Format('Successfully downloaded Minecraft additional files to {tmp}: %s', [FileName]));
|
||||||
|
Result := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure UnZip(ZipPath, TargetPath: string);
|
||||||
|
var
|
||||||
|
Shell: Variant;
|
||||||
|
ZipFile: Variant;
|
||||||
|
TargetFolder: Variant;
|
||||||
|
begin
|
||||||
|
Shell := CreateOleObject('Shell.Application');
|
||||||
|
|
||||||
|
ZipFile := Shell.NameSpace(ZipPath);
|
||||||
|
if VarIsClear(ZipFile) then
|
||||||
|
RaiseException(
|
||||||
|
Format('ZIP file "%s" does not exist or cannot be opened', [ZipPath]));
|
||||||
|
|
||||||
|
TargetFolder := Shell.NameSpace(TargetPath);
|
||||||
|
if VarIsClear(TargetFolder) then
|
||||||
|
RaiseException(Format('Target path "%s" does not exist', [TargetPath]));
|
||||||
|
|
||||||
|
TargetFolder.CopyHere(
|
||||||
|
ZipFile.Items, SHCONTCH_NOPROGRESSBOX or SHCONTCH_RESPONDYESTOALL);
|
||||||
|
end;
|
||||||
|
|
||||||
var ROMFilePage: TInputFileWizardPage;
|
var ROMFilePage: TInputFileWizardPage;
|
||||||
var R : longint;
|
var R : longint;
|
||||||
var rom: string;
|
var rom: string;
|
||||||
|
var MinecraftDownloadPage: TDownloadWizardPage;
|
||||||
|
|
||||||
procedure AddRomPage();
|
procedure AddRomPage();
|
||||||
begin
|
begin
|
||||||
|
@ -156,9 +216,45 @@ begin
|
||||||
'.sfc');
|
'.sfc');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure AddMinecraftDownloads();
|
||||||
|
begin
|
||||||
|
MinecraftDownloadPage := CreateDownloadPage(SetupMessage(msgWizardPreparing), SetupMessage(msgPreparingDesc), @OnDownloadMinecraftProgress);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function NextButtonClick(CurPageID: Integer): Boolean;
|
||||||
|
begin
|
||||||
|
if (CurPageID = wpReady) and (WizardIsComponentSelected('client/minecraft')) then begin
|
||||||
|
MinecraftDownloadPage.Clear;
|
||||||
|
if(IsForgeNeeded()) then
|
||||||
|
MinecraftDownloadPage.Add('https://maven.minecraftforge.net/net/minecraftforge/forge/'+FORGE_VERSION+'/forge-'+FORGE_VERSION+'-installer.jar','forge-installer.jar','');
|
||||||
|
if(IsJavaNeedeD()) then
|
||||||
|
MinecraftDownloadPage.Add('https://corretto.aws/downloads/latest/amazon-corretto-8-x64-windows-jre.zip','java.zip','');
|
||||||
|
MinecraftDownloadPage.Show;
|
||||||
|
try
|
||||||
|
try
|
||||||
|
MinecraftDownloadPage.Download;
|
||||||
|
Result := True;
|
||||||
|
except
|
||||||
|
if MinecraftDownloadPage.AbortedByUser then
|
||||||
|
Log('Aborted by user.')
|
||||||
|
else
|
||||||
|
SuppressibleMsgBox(AddPeriod(GetExceptionMessage), mbCriticalError, MB_OK, IDOK);
|
||||||
|
Result := False;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
if( isJavaNeeded() ) then
|
||||||
|
UnZip(ExpandConstant('{tmp}')+'\java.zip',ExpandConstant('{app}'));
|
||||||
|
MinecraftDownloadPage.Hide;
|
||||||
|
end;
|
||||||
|
Result := True;
|
||||||
|
end else
|
||||||
|
Result := True;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure InitializeWizard();
|
procedure InitializeWizard();
|
||||||
begin
|
begin
|
||||||
AddRomPage();
|
AddRomPage();
|
||||||
|
AddMinecraftDownloads();
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
2
setup.py
2
setup.py
|
@ -78,6 +78,8 @@ scripts = {
|
||||||
"LttPAdjuster.py": ("ArchipelagoLttPAdjuster", True),
|
"LttPAdjuster.py": ("ArchipelagoLttPAdjuster", True),
|
||||||
# Factorio
|
# Factorio
|
||||||
"FactorioClient.py": ("ArchipelagoFactorioClient", True),
|
"FactorioClient.py": ("ArchipelagoFactorioClient", True),
|
||||||
|
# Minecraft
|
||||||
|
"MinecraftClient.py": ("ArchipelagoMinecraftClient", False),
|
||||||
}
|
}
|
||||||
|
|
||||||
exes = []
|
exes = []
|
||||||
|
|
Loading…
Reference in New Issue