Jump to content

  • Curse Sites
Become a Premium Member! Help
Latest News Article

PatchCraft 2.1 - The Most User-Friendly Version Switcher

version switcher patch craft patchcraft minecraft version switcher changer tool mods

  • Please log in to reply
59 replies to this topic

#1

Drakken255
  • Location: In cyberspaaaaace!!!
  • Minecraft: Drakken255

Posted 04 June 2012 - 01:43 AM

ATTENTION: PatchCraft has become old and outdated, and I no longer have the time to keep up with it, so I regret to inform you that I will be removing service for PatchCraft until further notice. I might reinstate it at some point, but I make no promises. What does this mean, you may ask: Users of PatchCraft will no longer be able to use it, and I am removing access to the download link to it.

For information's sake, I'm leaving the rest of the post here, minus a few links:


Introducing PatchCraft V 2.1!The most user-friendly version switcher.
PatchCraft has a Facebook page! Go here to like it!

Features:
  • Ensures the user has already bought the game by
    using
    Minecraft login authentication.
  • Switch to almost any version released for Minecraft:
    Release, Beta, Alpha, Snapshots, even indev and infdev!

  • If a new patch arrives, no need to update PatchCraft!
    Patch info is handled via online database, so once
    it hits, I add it to the database, and you're all set!

  • View Patch descriptions in a self-updating window.
    Click a version, and view.

  • View your character in 3D!
  • Start Minecraft directly from PatchCraft.
  • Take Minecraft to go with the new PatchCraft Portable Launcher.
  • Performs backup before every switching operation.
  • Restore backup if an operation fails, or the patch doesn't work.
  • Automatically restores backup if a switch is cancelled.
  • Save your own modded JAR files for easy mod switching.
  • Remove saved modded JARs that are no longer needed.
  • If all else fails, you can always revert to the latest patch!
New in 2.1:
  • PatchCraft will now detect missing extension files and re-install them.
  • PatchCraft will now detect outdated extension files and re-install them.
  • The patcher is now downloaded to run, so the user will always have the latest patcher.
  • The patcher now supports adding/removing extension files.
  • PatchCraft's Character Viewer now correctly requires a DirectX 9 compatible graphics card. (99.99, repeating of course, percent of decently new computers have this.)
System Requirements:Windows XP, Vista, or 7DirectX 9 compatible graphics card.NET 4.0 Client Profile Redistributable by MicrosoftXNA 4.0 Redistributable by Microsoft

Official Trailer: <LINK REMOVED>
Download link: <LINK REMOVED>

Comments and constructive criticism very welcome. Have a feature idea? Let me know and post it!

Posted ImageThe most user friendly version switcher: Get it here!


Register or log in to remove.

#2

Ethan757
    Ethan757

    Zombie Killer

  • Members
  • 159 posts
  • Location: I would've put something here but i Can't think of a funny comment like all the other Cool kids do
  • Minecraft: Ethan757

Posted 05 June 2012 - 01:10 PM

Doesn't look that bad ill try.

#3

colres
    colres

    Carpenter

  • Members
  • 45 posts
  • Location: Blueberry
  • Minecraft: N1h0k3r

Posted 01 September 2012 - 03:49 PM

Looks great, I'll for sure be using this to keep my jars organized in future. I have two shelves full of jars, sorting through them is hard enough as it is, not to mention future updates.

Homosapiens


#4

Drakken255
  • Location: In cyberspaaaaace!!!
  • Minecraft: Drakken255

Posted 02 September 2012 - 11:34 AM

Thanks for the reply! Just wait until 2.0 comes out. I've got sooo many goodies in store. Set to release concurrently with Minecraft 1.4!

Posted ImageThe most user friendly version switcher: Get it here!


#5

Brixmon
    Brixmon

    Carpenter

  • Members
  • 67 posts
  • Location: Mohave Valley, Arizona, USA
  • Minecraft: Brixmon

Posted 09 September 2012 - 06:37 AM

From what I can gather. Adf.ly no longer exists. ­.
CHANGE YER DOWNLOAD LINKS MATES
"I prepared explosive runes this morning."-Vaarsuvius
"The hull has been breached, and the science is leaking out!!!"-Scientist

#6

Drakken255
  • Location: In cyberspaaaaace!!!
  • Minecraft: Drakken255

Posted 10 September 2012 - 12:18 AM

Adf.ly is back up, so switching back to that. Thx for the info though!

Posted ImageThe most user friendly version switcher: Get it here!


#7

sonicrules1234
  • Minecraft: sonicrules1234

Posted 10 September 2012 - 05:35 PM

Do you think you could post the source code? When I try running this with wine, it says it uses raw sockets, so I'm a bit concerned.  Thanks in advance. :)

#8

Drakken255
  • Location: In cyberspaaaaace!!!
  • Minecraft: Drakken255

Posted 11 September 2012 - 12:33 AM

PatchCraft uses .NET 4.0's WebClient and Ping classes to perform its network functions. I don't use manual socket functions, if that's what you mean.


public void BeginLoad()
{
downloadClient = new WebClient();
progressChangedHandler = new DownloadProgressChangedEventHandler(AdjustProgressBar);
downloadCompletedHandler = new AsyncCompletedEventHandler(HandleFinishedDownload);

downloadClient.DownloadProgressChanged += progressChangedHandler;
downloadClient.DownloadFileCompleted += downloadCompletedHandler;

downloads = new string[15, 2];

AddDownloadToQueue(<DATA FILE SOURCE>, <DATA FILE DEST>);
AddDownloadToQueue(<DATA FILE SOURCE>, <DATA FILE DEST>);
AddDownloadToQueue(<DATA FILE SOURCE>, <DATA FILE DEST>);
AddDownloadToQueue(<DATA FILE SOURCE>, <DATA FILE DEST>);
AddDownloadToQueue(<DATA FILE SOURCE>, <DATA FILE DEST>);
AddDownloadToQueue(<DATA FILE SOURCE>, <DATA FILE DEST>);

Download();
}


public void AddDownloadToQueue(string source, string destination)
{
downloads[currentQueueIndex, 0] = source;
downloads[currentQueueIndex, 1] = destination;
currentQueueIndex++;
}


public void Download()
{
downloadBar.Maximum = 20 * currentQueueIndex;
int len = downloads.Length / 2;

if (IsConnectedToInternet)
{
downloadClient.DownloadFileAsync(new Uri(downloads[0, 0]), downloads[0, 1]);
}
else
{
MessageBox.Show("Error: PatchCraft must have an active internet connection to operate.", "Error: No Internet Connection");
this.Exit(this, null);
}
}


public bool IsConnectedToInternet
{
get
{
string host = <PING LOCATION>;
int tries = 0;
bool result = false;
do
{
Ping p = new Ping();
try
{
PingReply reply = p.Send(host, 3000);
if (reply.Status == IPStatus.Success)
result = true;
else
{
tries++;
Thread.Sleep(1000);
}
}
catch { tries++; Thread.Sleep(1000); }
} while (!result && tries < 3);
return result;
}
}


Some of the code (mostly download locations) has been altered to protect PatchCraft and the resources with which it operates. You will see these changes in caps surrounded with <>.

EDIT: I just read up on a software called "wine." Turns out that's what you meant. It is possible that the alternate functions that Wine provides do take WebClient and Ping down to a socket level. I don't know for sure. PatchCraft is currently intended to work for Windows only, but is planned for porting to Mac and Linux.

Posted ImageThe most user friendly version switcher: Get it here!


#9

sonicrules1234
  • Minecraft: sonicrules1234

Posted 11 September 2012 - 01:46 AM

View PostDrakken255, on 11 September 2012 - 12:33 AM, said:

Do you have .NET 4.0? And I am assuming by "wine" you mean "mine," right? PatchCraft uses .NET 4.0's WebClient and Ping classes to perform its network functions. I don't use manual socket functions, if that's what you mean.


public void BeginLoad()
{
downloadClient = new WebClient();
progressChangedHandler = new DownloadProgressChangedEventHandler(AdjustProgressBar);
downloadCompletedHandler = new AsyncCompletedEventHandler(HandleFinishedDownload);

downloadClient.DownloadProgressChanged += progressChangedHandler;
downloadClient.DownloadFileCompleted += downloadCompletedHandler;

downloads = new string[15, 2];

AddDownloadToQueue(<DATA FILE SOURCE>, <DATA FILE DEST>);
AddDownloadToQueue(<DATA FILE SOURCE>, <DATA FILE DEST>);
AddDownloadToQueue(<DATA FILE SOURCE>, <DATA FILE DEST>);
AddDownloadToQueue(<DATA FILE SOURCE>, <DATA FILE DEST>);
AddDownloadToQueue(<DATA FILE SOURCE>, <DATA FILE DEST>);
AddDownloadToQueue(<DATA FILE SOURCE>, <DATA FILE DEST>);

Download();
}


public void AddDownloadToQueue(string source, string destination)
{
downloads[currentQueueIndex, 0] = source;
downloads[currentQueueIndex, 1] = destination;
currentQueueIndex++;
}


public void Download()
{
downloadBar.Maximum = 20 * currentQueueIndex;
int len = downloads.Length / 2;

if (IsConnectedToInternet)
{
downloadClient.DownloadFileAsync(new Uri(downloads[0, 0]), downloads[0, 1]);
}
else
{
MessageBox.Show("Error: PatchCraft must have an active internet connection to operate.", "Error: No Internet Connection");
this.Exit(this, null);
}
}


public bool IsConnectedToInternet
{
get
{
string host = <PING LOCATION>;
int tries = 0;
bool result = false;
do
{
Ping p = new Ping();
try
{
PingReply reply = p.Send(host, 3000);
if (reply.Status == IPStatus.Success)
result = true;
else
{
tries++;
Thread.Sleep(1000);
}
}
catch { tries++; Thread.Sleep(1000); }
} while (!result && tries < 3);
return result;
}
}


Some of the code (mostly download locations) has been altered to protect PatchCraft and the resources with which it operates. You will see these changes in caps surrounded with <>.

EDIT: I just read up on a software called "wine." Turns out that's what you meant. It is possible that the alternate functions that Wine provides do take WebClient and Ping down to a socket level. I don't know for sure. PatchCraft is currently intended to work for Windows only, but is planned for porting to Mac and Linux.

Thanks, I'm guessing that the pinging is what triggered it, since it uses ICMP instead of TCP or UDP.  Windows doesn't like using raw sockets with normal users, so I'm guessing that your program won't work unless its being run by the Administrator account.  If I'm right, you could alternatively try and fetch a web page from a site that you know will always be up.  Thanks for the reply, and good luck on the Linux and Mac versions. :D

#10

ottoguy2
    ottoguy2

    Void Walker

  • Members
  • 1857 posts

Posted 11 September 2012 - 02:13 AM

Nice work!
Posted Image
This picture will not do the above.

#11

Drakken255
  • Location: In cyberspaaaaace!!!
  • Minecraft: Drakken255

Posted 11 September 2012 - 04:13 AM

So the Ping operation can only be done on an administrator account? I hadn't thought to test PatchCraft on an average account. Will test later tonight and edit with results.

Posted ImageThe most user friendly version switcher: Get it here!


#12

Drakken255
  • Location: In cyberspaaaaace!!!
  • Minecraft: Drakken255

Posted 11 September 2012 - 01:22 PM

I just tested PatchCraft with a non-administrator account, and the only real problem is the same problem we all have (admin or not) with independently written programs: User Account Control. This is that little window that pops up asking "Do you want this program to make changes to your computer?" So far of what I have read, this is negated by obtaining a certificate and signing the program. I have just asked about this, and it turns out the .NET Ping function may use raw sockets, but .NET circumvents its own security to allow non-admins to use it. Raw sockets do still require admin privileges, though.

Posted ImageThe most user friendly version switcher: Get it here!


#13

Chiquihuite

Posted 14 September 2012 - 06:08 AM

That's really cool. Love the trailer as well =)

#14

Drakken255
  • Location: In cyberspaaaaace!!!
  • Minecraft: Drakken255

Posted 15 September 2012 - 03:03 PM

Ladies and Gentlemen,

I expect to hit my hundredth download link as I sleep tonight, so I bring the 100th Download Anniversary Gift a little soon... A sneak peek of PatchCraft 2.0:

<Picture Removed>

Posted ImageThe most user friendly version switcher: Get it here!


#15

SuperSonicWii903
  • Location: Trying to escape my own puzzle map
  • Minecraft: SuperSonicWii903
  • Xbox:I DONT HAVE ONE

Posted 16 September 2012 - 09:25 PM

Excelent, i have been playing since 1.2.5 (yea im kinda n00by) and this seems really good, i always wanted to know what life was like in the alpha days....

THANK YOU SO MUCH (looks A LOT easier than McNostalgia)
Posted Image

#16

Dogman27Schwing

Posted 28 September 2012 - 09:41 PM

Just asking, can I set it to patch a different .jar location?  I use Minecraft Profile Manager already, will this still work?
Thanks.
Posted Image

#17

Dogman27Schwing

Posted 28 September 2012 - 11:16 PM

I downloaded it and am trying to play Indef, but for some reason when I go into the Minecraft launcher, I go to 1.2.5.  Can you make a tutorial for how to use this?  (Sorry, I am a noob).
Posted Image

#18

Dogman27Schwing

Posted 28 September 2012 - 11:21 PM

View PostDogman27Schwing, on 28 September 2012 - 11:16 PM, said:

I downloaded it and am trying to play Indef, but for some reason when I go into the Minecraft launcher, I go to 1.2.5.  Can you make a tutorial for how to use this?  (Sorry, I am a noob).
Nevermind
Beta is AWESOME!!!!!
Posted Image

#19

Drakken255
  • Location: In cyberspaaaaace!!!
  • Minecraft: Drakken255

Posted 30 September 2012 - 03:18 PM

Apologies for a lack of replies... Was busy with other things. A portable Minecraft was a planned feature for PatchCraft 2.0, but development has unexpectedly halted due to a feature I can't get working, among other problems. There's just not enough added to release it. I will be on the lookout for other potential features, so if you have an idea, please post it!

Posted ImageThe most user friendly version switcher: Get it here!


#20

jasonrogue

Posted 26 October 2012 - 06:48 PM

This is awful compared to MCNostalgia, especially because this isn't compatible for macs, thanks, but no thanks, I'll wait for MCN to update now
Posted Image