Skip to content

Instantly share code, notes, and snippets.

@02JanDal
02JanDal / proposal.md
Last active August 29, 2015 14:00
Proposal for QuickMod conflict prevention

Why?

It seems like there'll be several providers of QuickMod files, and especially with opensource mods like Buildcraft etc. it'll probably not be uncommon for a mod to exist at several different providers. Say we already have the buildcraft from curse, and now we install mod X from mc-get that requires the buildcraft from mc-get. Currently, as they have the same UID, the one from curse will be overwritten, which is not wanted.

Some terminology

  • Repository (repo): provider of QuickMod files

Possible actions

@02JanDal
02JanDal / design.md
Last active August 29, 2015 14:11
MultiLaunch design Doc/Ideas

Basic building blocks

Utilities

BaseConfigObject is an abstract class for classes that save some sort of configuration, settings or similar to disk. It handles periodic saving (if there're changes).

Tasks

{"id":"forge","version":"1.7","time":"2015-01-11T16:06:01-0500","type":"release","tweakers":["cpw.mods.fml.common.launcher.FMLTweaker"],"requires":["net.minecraft:minecraft:1.7.10"],"libraries":[{"name":"net.minecraftforge:forge:1.7.10-10.13.2.1286","platforms":["win32","win64","lin32","lin64","osx64"]},{"name":"net.minecraft:launchwrapper:1.11","platforms":["win32","win64","lin32","lin64","osx64"]},{"name":"org.ow2.asm:asm-all:5.0.3","platforms":["win32","win64","lin32","lin64","osx64"]},{"name":"com.typesafe.akka:akka-actor_2.11:2.3.3","platforms":["win32","win64","lin32","lin64","osx64"]},{"name":"com.typesafe:config:1.2.1","platforms":["win32","win64","lin32","lin64","osx64"]},{"name":"org.scala-lang:scala-actors-migration_2.11:1.1.0","platforms":["win32","win64","lin32","lin64","osx64"]},{"name":"org.scala-lang:scala-compiler:2.11.1","platforms":["win32","win64","lin32","lin64","osx64"]},{"name":"org.scala-lang.plugins:scala-continuations-library_2.11:1.0.2","platforms":["win32","win64","lin32","lin64","
@02JanDal
02JanDal / candidates.md
Last active August 29, 2015 14:14
Candidates for merging from MultiLaunch -> MultiMC

This is a list of code parts from MultiLaunch that could be merged into MultiMC, along with some thoughts on usefulness/feasibility etc.

Code parts

Accounts

A lot more flexible than the accounts system in MultiMC, allowing additional account types like Imgur etc. Merging shouldn't be to hard, and would bring some benefits. The current system in MMC is rather stable and without issues though, so that would need to be considered.

Utils

dolphin.json:
{
"name": "Bla",
... other metadata ...,
"versions": [
{
"name": "1.2.2.2.2.2",
... other metadata...,
"data": {
"libraries": [ ... ],
{
"formatVersion": 0,
"uid": "net.minecraft",
"version": "1.8.2-pre6",
"time": 1422619104,
"type": "snapshot",
"requires": [
{
"uid": "org.lwjgl"
}
@02JanDal
02JanDal / post.md
Last active August 29, 2015 14:16
MultiMC 03 2015 Blog

There haven't been any new builds for a long time now. Are we dead? No, there is actually a lot going on. The reason there haven't been any new builds is that we're updating our infrastructure for doing the builds, and sadly that has taken a lot longer than expected. Now it has finally caught speed again though, so we hope to be able to push new builds to both stable and develop very soon.

Wonko the Sane

Up until now, most launchers have implemented custom logic to install Minecraft, Forge, LiteLoader, etc. This logic is often fragile and repeated in the different projects, and all of them (Minecraft, Forge, LiteLoader etc.) need to be handled different. To solve this issue we have started working on WonkoTheSane, a script that handles all the specifics and outputs files in a common format, that launchers like MultiMC (and others) will be able to use. This means that all the hacks move to a easily controllable server, meaning we can fix issues faster, and hopef

#!/bin/sh
##### HELPERS #####
function update_git() # dir url branch
{
dir=$1
url=$2
branch=$3
if [ -d $dir ]; then
@02JanDal
02JanDal / CMakeLists.txt
Created April 21, 2015 06:33
CMakeLists.txt for Qt translations
set_directory_properties(PROPERTIES CLEAN_NO_CUSTOM 1)
### translation stuff
file(GLOB TRANSLATION_FILES ${CMAKE_CURRENT_LIST_DIR}/*.ts)
qt5_create_translation(TRANSLATION_MESSAGES ${FILES_TO_TRANSLATE} ${TRANSLATION_FILES})
qt5_add_translation(TRANSLATION_QM ${TRANSLATION_FILES})
add_custom_target(translations_update DEPENDS ${TRANSLATION_MESSAGES})
add_custom_target(translations DEPENDS ${TRANSLATION_QM})
{
"formatVersion": 0,
"uid": "net.minecraftforge",
"version": "4.0.0.183",
"time": 1344922397,
"requires": [
{
"uid": "net.minecraft",
"version": "1.3.2"
}