Skip to content

Releases: yodarocks1/ConstructModLoader

Beta B.2.0

12 Aug 18:02
Compare
Choose a tag to compare

Construct Mod Loader (CML) Version Beta B.2.0

Changes in this release:

  • Launch from cache!
    • If your most recent profile hasn't changed since you last launched, you can skip straight to launching the game!
  • New plugin system
  • Simplified and streamlined UI
  • Workshop markdown parsing
  • UI now supports GIF animations
  • Added popovers
  • Added cml:// protocol
  • Steam CMD
  • CML Download Tool
  • Read and display GIF and Sprite animations
  • Change detector
  • Pastebin sharing (no GUI - future feature)
  • Main menu mod
  • Added CONTRIBUTING.md
  • Updated README.md
  • Reorganized stuff
  • Fixed uninstaller
  • Started creating a CML Javadoc
  • Began implementing concepts from Efficient Java (3rd Ed.)
  • Added debugging tool (ScenicView; Use -DevPanel=true)
  • Log file locations
    • Patch file: Construct/mods/_._patches_._/YYYY-MM-DD+HH;MM;SS.txt
    • Heavy log: Construct/API/heavy_log.xml
    • Log: Construct/API/log.txt
  • And more!

Plugins!

What are plugins? They allow for the creation of a whole slew of tools for Scrap Mechanic! You can handle mods as they are being applied. You can replace existing CML functionsWIP if you can think of a better way to do it. You can launch an application or a background task.

Some ideas for what this may entail:

  • Backup tool
  • Mod tool
  • Crafting recipe manager
  • Shapeset manager
  • SM Backwards compatibility Proposed by AnotherBot

Optimizations!

I recently purchased a book called Efficient Java (3rd Ed.). I have already implemented quite a few of the suggestions it makes, and you can expect even more improvements over time.

Installation instructions:

  • Checkout the documentation page! It will help guide you through installation or updates.

To apply a Scrap Mechanic update:

  1. Go to the settings tab
  2. Click (Re)-Generate Vanilla Folder

To disregard a Scrap Mechanic update:

  1. Open your vanilla folder (C:\Program Files (x86)\Construct\vanilla by default)
  2. Delete installscript.vdf

Note: If you don't delete this file, Steam will automatically update any time you try to launch, thus deleting any modifications you have applied.

Situation Report

For those who don't know, I will be off to college later this month. I will have a job and classes, so life is going to be pretty hectic. I will not be setting this project aside, but development will certainly slow. You can expect pertinent bug fixes, as well as optimizations, but very few new features.

So, what's next for CML?

  • The plugins themselves! Mod tool is priority 1.
  • "Wide" GUI. So you don't have to guess what each button does. (Check out API/IconMap.png!)
  • More optimizations! As I learn new things while I'm pursuing my degree, I will be sure to apply them here.
  • Removal of the patches folder. Once the Construct Mod Tool is done, the patches folder will be irrelevant.
  • Moving documentation to a new Fandom site. This is to allow for a better user experience with a large number of pages, and allow for the creation of pages for various mods and plugins.
  • Pastebin profile sharing. Already, I have a system to share and get data to Pastebin. In future versions, this will be turned into a system to share profiles with your friends or followers. Please note: The option for the link to never expire will be disabled due to limitations on the number of permanent Pastebins a single dev key can create. If you would like it to never expire, please create a Pastebin account and copy/paste the data.
  • Auto-updating of plugin, profile, and mod data. I am quite close to being able to auto-update changes - I can already detect them - but this version was too long in the making already. You can expect it in the next major update.

If you have any suggestions, feel free to create an 'issue' (and mark it as a suggestion), or let me know on discord.

Known issues:

-- If you have any issues, let me know. You can do so by creating an issue here or by joining the discord below. --

CML currently doesn't support character mods. This would increase the size of the vanilla folder by approximately 1.5 GB, thus greatly increasing the generation time and disk space requirements. If you have a strong opinion on the matter, let me know at this straw poll: https://www.strawpoll.me/20759193

CML currently doesn't support modification of various folders (See here). If you would like any of these to be supported, let me know at this straw poll: https://www.strawpoll.me/20759211
If you think any folders ought to be added to the list, let me know in the #suggestions channel on discord.

Join the Discord

Beta B.1.0-hotfix2

29 Jun 23:32
7205be9
Compare
Choose a tag to compare

Construct Mod Loader (CML) Version Beta B.1.0

Changes in this release:

  • Fixed Splash Screen

  • HUGE optimizations

  • New console

    • When closed, instead minimizes to tray until the main window is closed.
  • Workshop integration!

    • Convert mods from the Steam Workshop to work with CML!
  • Steam shortcut integration

    • Add CML to your Steam Library with the click of a button!
  • Implemented Profile Properties

    • Change the icon, name, or description of a profile with ease.
  • New font! (Library 3am by Igor Kosinsky)

  • Automatically unzip profiles and mods!

  • New icon! Let me know what you think!

  • Update assets - Check out the README.md for more information

  • Choose between bundled or unbundled JRE

    • Most versions of Java include JavaFX, but some don't.
  • A custom-scripted installer using the Nullsoft Scriptable Installation System!

    • Reduce the installation time (and size) dramatically if your default JRE natively supports JavaFX.
  • Log file locations

    • Patch file: Construct/mods/_._patches_._/YYYY-MM-DD+HH;MM;SS.txt
    • Log XML: Construct/API/heavy_log.xml

Update to Beta!

I am happy to announce that CML is moving into Beta!
Coming up in the Beta phase:

  • Plugin support! (Maybe a website, too?)
    • Crafting recipe manager
    • Shapeset manager
    • Kariaro/HardCoded's world viewer
    • etc.
  • Further optimization
    • Immutable objects
    • Subdividing controllers
    • Java Concurrency
  • If you have any suggestions, feel free to create an 'issue' (and mark it as a suggestion), or let me know on discord.

Installation instructions:

  • Checkout the new README.md! It will help guide you through installation or updates.

To apply a Scrap Mechanic update:

  1. Go to the settings tab
  2. Click (Re)-Generate Vanilla Folder

Known issues:

-- If you have any issues, let me know. You can do so by creating an issue here or by joining the discord below. --

Discord

Join the CML Discord here: https://discord.gg/ZcWwHeZ

Changes in Hotfix 1

  • Added a few null checks (Fixes bug reported by @wace on Discord)
  • Un-nested the JRE (Fixes bug reported by @wace on Discord)
  • Switched ListProperty.get() to ListProperty.getValue() (Fixes bug reported by @erin Rose on Discord)
  • Disabled Workshop.fxml by default (Fixes self-reported bug)
  • Added "Run as Administrator" requirement to CML.exe (Fixes bug reported by @wace on Discord)
  • Changed Version ID to B.1.0-h1
  • Created new master branch (og_master) because of a detached HEAD.

Changes in Hotfix 2

  • Fixed NullPointerException caused by attempts to print to PatchOutputStream
    • Seen as "Exception in thread "Thread-9" java.lang.NullPointerException at cml.apply.MergeChanges.applyPatches(MergeChanges.java:173)"

Beta B.1.0-hotfix1

25 Jun 20:07
Compare
Choose a tag to compare

Construct Mod Loader (CML) Version Beta B.1.0

Changes in this release:

  • Fixed Splash Screen

  • HUGE optimizations

  • New console

    • When closed, instead minimizes to tray until the main window is closed.
  • Workshop integration!

    • Convert mods from the Steam Workshop to work with CML!
  • Steam shortcut integration

    • Add CML to your Steam Library with the click of a button!
  • Implemented Profile Properties

    • Change the icon, name, or description of a profile with ease.
  • New font! (Library 3am by Igor Kosinsky)

  • Automatically unzip profiles and mods!

  • New icon! Let me know what you think!

  • Update assets - Check out the README.md for more information

  • Choose between bundled or unbundled JRE

    • Most versions of Java include JavaFX, but some don't.
  • A custom-scripted installer using the Nullsoft Scriptable Installation System!

    • Reduce the installation time (and size) dramatically if your default JRE natively supports JavaFX.
  • Log file locations

    • Patch file: Construct/mods/_._patches_._/YYYY-MM-DD+HH;MM;SS.txt
    • Log XML: Construct/API/heavy_log.xml

Update to Beta!

I am happy to announce that CML is moving into Beta!
Coming up in the Beta phase:

  • Plugin support! (Maybe a website, too?)
    • Crafting recipe manager
    • Shapeset manager
    • Kariaro/HardCoded's world viewer
    • etc.
  • Further optimization
    • Immutable objects
    • Subdividing controllers
    • Java Concurrency
  • If you have any suggestions, feel free to create an 'issue' (and mark it as a suggestion), or let me know on discord.

Installation instructions:

  • Checkout the new README.md! It will help guide you through installation or updates.

To apply a Scrap Mechanic update:

  1. Go to the settings tab
  2. Click (Re)-Generate Vanilla Folder

Known issues:

-- If you have any issues, let me know. You can do so by creating an issue here or by joining the discord below. --

Discord

Join the CML Discord here: https://discord.gg/ZcWwHeZ

Changes in Hotfix 1

  • Added a few null checks (Fixes bug reported by @wace on Discord)
  • Un-nested the JRE (Fixes bug reported by @wace on Discord)
  • Switched ListProperty.get() to ListProperty.getValue() (Fixes bug reported by @erin Rose on Discord)
  • Disabled Workshop.fxml by default (Fixes self-reported bug)
  • Added "Run as Administrator" requirement to CML.exe (Fixes bug reported by @wace on Discord)
  • Changed Version ID to B.1.0-h1
  • Created new master branch (og_master) because of a detached HEAD.

Beta B.1.0

25 Jun 11:07
7b055dd
Compare
Choose a tag to compare

Construct Mod Loader (CML) Version Beta B.1.0

Changes in this release:

  • Fixed Splash Screen

  • HUGE optimizations

  • New console

    • When closed, instead minimizes to tray until the main window is closed.
  • Workshop integration!

    • Convert mods from the Steam Workshop to work with CML!
  • Steam shortcut integration

    • Add CML to your Steam Library with the click of a button!
  • Implemented Profile Properties

    • Change the icon, name, or description of a profile with ease.
  • New font! (Library 3am by Igor Kosinsky)

  • Automatically unzip profiles and mods!

  • New icon! Let me know what you think!

  • Update assets - Check out the README.md for more information

  • Choose between bundled or unbundled JRE

    • Most versions of Java include JavaFX, but some don't.
  • A custom-scripted installer using the Nullsoft Scriptable Installation System!

    • Reduce the installation time (and size) dramatically if your default JRE natively supports JavaFX.
  • Log file locations

    • Patch file: Construct/mods/_._patches_._/YYYY-MM-DD+HH;MM;SS.txt
    • Log XML: Construct/API/heavy_log.xml

Update to Beta!

I am happy to announce that CML is moving into Beta!
Coming up in the Beta phase:

  • Plugin support! (Maybe a website, too?)
    • Crafting recipe manager
    • Shapeset manager
    • Kariaro/HardCoded's world viewer
    • etc.
  • Further optimization
    • Immutable objects
    • Subdividing controllers
    • Java Concurrency
  • If you have any suggestions, feel free to create an 'issue' (and mark it as a suggestion), or let me know on discord.

Installation instructions:

  • Checkout the new README.md! It will help guide you through installation or updates.

To apply a Scrap Mechanic update:

  1. Go to the settings tab
  2. Click (Re)-Generate Vanilla Folder

Known issues:

-- If you have any issues, let me know. You can do so by creating an issue here or by joining the discord below. --

Discord

Join the CML Discord here: https://discord.gg/ZcWwHeZ

Alpha A.1.1-hotfix1

08 Jun 07:29
Compare
Choose a tag to compare

Construct Mod Loader (CML) Version Alpha A.1.1

Changes in this release:

  • Modification API
    • Patch modifications - more reliable after Scrap Mechanic updates, and less likely to conflict with other mods.
      • Check the mods/_._patches_._ folder to see all patches made to the game in the current instance of CML
    • FULL incompatibility detection
      • On a detected incompatibility:
        • If it is a "certain" incompatibility, the user will be forced to choose only one modification to leave active.
        • If it is a "possible" incompatibility, the user can pick and choose which modifications to disable.
      • Certain incompatibility detection criteria:
        • One modification is Replacing a file that another modification is attempting to Merge or Replace.
      • Possible incompatibility detection criteria:
        • A patch failed, thus marking all modifications that affect the file as possibly incompatible.
    • IconMaps and InventoryDescriptions can now be easily modified
  • Finished GUI [Except for the profile preferences button]
    • Selection between multiple profiles
    • Update checker (automatic updating coming soon)
  • Example mods are fully functional
    • Examples show how to use the following modification systems:
      • Patch
      • Merge
      • Crafting recipes
      • Icon maps
      • Inventory descriptions
      • Shape sets
      • New blocks and parts
  • Log files
    • Log file: Construct/mods/_._logs_._/YYYY-MM-DD+HH;MM;SS-log.txt
    • Errors file: Construct/mods/_._logs_._/YYYY-MM-DD+HH;MM;SS-err.txt
    • Patch file: Construct/mods/_._patches_._/YYYY-MM-DD+HH;MM;SS.txt

Installation instructions:

  • Method 1 (Automatic installation)
    • Download and run the .msi file
    • Make sure to run CML as an Administrator
      • To make it easier on yourself, navigate to C:\Program Files (x86)\Construct\API, right click CML.exe, click Properties, go to the Compatibility tab, and tick the Run this program as an administrator checkbox.
  • Method 2 (Manual installation)
    • Unzip the .zip file to an easy-to-access location
    • Move the Construct folder into C:\Program Files (x86)
      • This should result in a file structure that looks like: C:\Program Files (x86)\Construct\API\CML.exe
    • Make sure to run CML.exe as an Administrator
      • To make it easier on yourself, navigate to C:\Program Files (x86)\Construct\API, right click CML.exe, click Properties, go to the Compatibility tab, and tick the Run this program as an administrator checkbox.

To apply a Scrap Mechanic update:

  1. Go to the settings tab
  2. Click (Re)-Generate Vanilla Folder
  • See the Hotfix 1 changes section below for more information.

Known issues:

  • The preferences button has not yet been implemented, and thus does nothing.
  • The .msi installer may fail to edit the registry - just continue without editing it. This only makes it a requirement to run CML.exe as an administrator. If it fails, you will need to manually Run as Administrator.

Discord

Join the CML Discord here: https://discord.gg/ZcWwHeZ

Hotfix 1 changes:

  • Fixed the .msi file to no longer require Administrator privileges on launch (It will still prompt for it later)
  • Reduced file size by removing vanilla folder from the .msi and .zip
    • Vanilla folder can now be downloaded and updated automatically with the press of a button (Settings tab → (Re)-Generate Vanilla Folder)
      • This will take a while - do not modify any files in the Scrap Mechanic folder during this process. Do not press the launch button. Do not modify anything by hand. In order to know when it is done, press the launch button when no vanilla folder is present. Upon completion, the user error will resolve itself, and the icon will return to normal.

Alpha A.1.1

07 Jun 10:30
Compare
Choose a tag to compare

Construct Mod Loader (CML) Version Alpha A.1.1

Changes in this release:

  • Modification API
    • Patch modifications - more reliable after Scrap Mechanic updates, and less likely to conflict with other mods.
      • Check the mods/.patches. to see all patches made to the game in the current instance of CML
    • FULL incompatibility detection
      • On a detected incompatibility:
        • If it is a "certain" incompatibility, the user will be forced to choose only one modification to leave active.
        • If it is a "possible" incompatibility, the user can pick and choose which modifications to disable.
      • Certain incompatibility detection criteria:
        • One modification is Replacing a file that another modification is attempting to Merge or Replace.
      • Possible incompatibility detection criteria:
        • A patch failed, thus marking all modifications that affect the file as possibly incompatible.
    • IconMaps and InventoryDescriptions can now be easily modified
  • Finished GUI [Except for the profile preferences button]
    • Selection between multiple profiles
    • Update checker (automatic updating coming soon)
  • Example mods are fully functional
    • Examples show how to use the following modification systems:
      • Patch
      • Merge
      • Crafting recipes
      • Icon maps
      • Inventory descriptions
      • Shape sets
      • New blocks and parts
  • Log files
    • Log file: Construct/mods/_._logs_._/YYYY-MM-DD+HH;MM;SS-log.txt
    • Errors file: Construct/mods/_._logs_._/YYYY-MM-DD+HH;MM;SS-err.txt
    • Patch file: Construct/mods/_._patches_._/YYYY-MM-DD+HH;MM;SS.txt

Installation instructions:

  • Method 1 (Automatic installation)
    • Download and run the .msi file
    • Make sure to run CML as an Administrator
      • To make it easier on yourself, navigate to C:\Program Files (x86)\Construct\API, right click CML.exe, click Properties, go to the Compatibility tab, and tick the Run this program as an administrator checkbox.
  • Method 2 (Manual installation)
    • Unzip the .zip file to an easy-to-access location
    • Move the Construct folder into C:\Program Files (x86)
      • This should result in a file structure that looks like: C:\Program Files (x86)\Construct\API\CML.exe
    • Make sure to run CML.exe as an Administrator
      • To make it easier on yourself, navigate to C:\Program Files (x86)\Construct\API, right click CML.exe, click Properties, go to the Compatibility tab, and tick the Run this program as an administrator checkbox.

To apply a Scrap Mechanic update:

  1. Make sure CML is not running
  2. Go to Scrap Mechanic in your Steam library
  3. Open the game settings
    1. Click the gear located to the right of the play button
    2. Click properties
  4. Go to the Local Files tab
  5. Click Verify Integrity of Game Files
    1. This may take a while. Be aware.
  6. Copy files from within the Scrap Mechanic folder into the Construct/vanilla folder
    • The following folders are not necessary to copy:
      • \Logs
      • \Cache
      • \Challenges
      • \ChallengeData
      • \Data\ExampleMods
      • \Data\Terrain
      • \Data\CML-Objects
      • \Survival\Character\Char_Male
      • \Survival\Terrain
      • \Screenshots

Known issues:

  • The preferences button has not yet been implemented, and thus does nothing.

Alpha A.1.0

26 May 20:41
Compare
Choose a tag to compare

Construct Mod Loader (CML) Version Alpha A.1.0 is here!

Changes in this release:

  • Source control
    • Merge and Replace files
    • Very, very basic incompatibility detection (More coming in the next update)
  • New GUI
    • Includes Profiles (selection between multiple profiles coming soon)
    • Allows for dynamic selection of the mods folder, vanilla folder, and Scrap Mechanic folder within the program
      • Make sure to press Enter after you edit one of them!
    • Update checker (automatic updating coming soon)

Installation instructions:

  • Unzip the .zip file into C:\Program Files (x86)
    • This should result in a structure that looks like: C:\Program Files (x86)\Construct\API\Construct Mod Loader.jar
  • Use the .lnk file (a Windows Shortcut) to launch the mod loader.
    • Running the program will require Administrator privileges because Scrap Mechanic and CML are located within System files.

Known issues:

  • Resizing the screen to be smaller causes the mods list to fail.

Alpha A.0.0-hotfix2

21 May 08:07
Compare
Choose a tag to compare

This version is not complete!
There is much yet to add.
This version has a simplistic UI that matches the in-game UI and has a few mods that I have been using to test my applicators. I may have issues with these applicators, so be aware that some may not work. I have ensured that everything will return to normal, vanilla mechanics once you hit Apply after disabling all mods.
There is very little optimization.

However - it works, and I would greatly appreciate feedback during this Alpha phase.

In order to run:

  • Download and unzip Construct.Mod.Loader.zip to an easily accessible location
  • Download and unzip Construct.zip to C:\Program Files (x86)\
  • Double click the shortcut inside the Construct Mod Loader folder

Note: If your Scrap Mechanic folder is not located at "C:\Program Files (x86)\Steam\steamapps\common\Scrap Mechanic", then you will need to set it by right-clicking the .bat file, clicking edit, and changing it so that it looks like so:
java "-DScrapFolder=Z:\Example\Location\" -jar "C:\Program Files (x86)\Construct\API\Construct Mod Loader.jar"
Make sure that it ends in a slash, or else a large number of files will throw fits.