Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- on *:load:{
- if (!$getsetting(mcdir) || !$getsetting(backupdir)) {
- noop $input(Please select where Minecraft is installed on your computer.,og,Initial Setup)
- :tryagain
- var %mcdir $sdir(*,Please select your Minecraft install directory)
- if (!$exists($+(%mcdir,\bin\minecraft.jar))) { noop $input(The directory you selected does not contain a valid minecraft installation.,wougbd,Error!) | goto tryagain }
- setsetting mcdir %mcdir
- var %backupdir $input(Now enter the path of where you want to create backups (or leave blank to use default).,eog,Initial Setup)
- if (%backupdir) { setsetting backupdir $+(%backupdir,$iif($right(%backupdir,1) != \,\)) }
- dialog -md ipmcbt ipmcbt
- }
- }
- menu channel {
- iPeer's Minecraft Backup Thinger:dialog -md ipmcbt ipmcbt
- }
- dialog iPMCBT {
- title "iPeer's Minecraft Backup Thinger"
- size -1 -1 238 146
- option dbu
- text "Minecraft Install Directory", 1, 4 2 65 8
- edit "", 2, 4 11 216 10, disable
- button "...", 3, 222 10 13 12
- check "Let me type it!", 4, 4 21 47 10
- text "Minecraft Backup Directory", 5, 4 31 65 8
- button "...", 6, 222 39 13 12
- edit "", 7, 4 40 216 10, disable
- check "Again, let me type it!", 8, 4 50 61 10
- list 9, 4 69 230 53, size
- text "Directories available for backup:", 10, 5 60 83 8
- text "Double clicking on an item will start the backup process.", 11, 4 123 230 8, center
- button "Done!", 12, 80 133 154 12, ok
- button "Reload Directories", 13, 4 133 74 12
- button "Backup ALL the things!", 15, 173 57 60 12
- }
- on *:dialog:iPMCBT:init:0:{
- did -ra $dname 2 $getsetting(mcdir)
- did -ra $dname 7 $getsetting(backupdir)
- noop $finddir($+($minecraftdir,saves\),*,0,1,did -a iPMCBT 9 $1-)
- noop $finddir($minecraftdir,*bin*,0,1,did -a iPMCBT 9 $1-)
- }
- on *:dialog:iPMCBT:sclick:*:{
- if ($did == 15) {
- if ($input(Backing up everything will probably make your mIRC hang until it's complete and could possibly take a very long time. Do you still want to do it?,yqgdu,Here be Dragons!)) {
- did -r $dname 9
- ipmcbtloaddirs
- set %bindir $did(9,$did(9).lines).text
- set %totalbackupid $calc($did(9).lines - 1)
- set %backupallthethings 1
- set %backupid 1
- set %firstworld $did(9,1)
- did -ra $dname 9 Well, here goes nothing!
- ;mcbackup -w %firstworld
- mcbackup -b %bindir
- }
- }
- elseif ($did == 3) {
- :tryagain
- var %mcdir = $sdir($iif($getsetting(mcdir),$v1,*),Please select your Minecraft install directory.)
- if (!$exists($+(%mcdir,\bin\minecraft.jar))) { noop $input(The directory you selected does not contain a valid minecraft installation.,wougbd,Error!) | goto tryagain }
- setsetting mcdir %mcdir
- did -ra $dname 2 %mcdir
- }
- elseif ($did == 6) {
- var %backupdir $input(Please enter the path of where you want to create backups (or leave blank to use default).,eog,Initial Setup)
- echo -tg %backupdir
- if (%backupdir) { did -ra $dname 7 $+(%backupdir,$iif($right(%backupdir,1) != \,\)) | setsetting backupdir $+(%backupdir,$iif($right(%backupdir,1) != \,\)) }
- }
- elseif ($did == 12) {
- if ($did(2)) setsetting mcdir $iif($right($did(2),1) != \,$+($did(2),\),$did(2))
- if ($did(7)) setsetting backupdir $iif($right($did(7),1) != \,$+($did(7),\),$did(7))
- }
- elseif ($did == 13) {
- did -r $dname 9
- ipmcbtloaddirs
- }
- elseif ($did == 8) { did $iif($did(8).state == 1,-e,-b) $dname 7 }
- elseif ($did == 4) { did $iif($did(4).state == 1,-e,-b) $dname 2 }
- }
- alias -l ipmcbtloaddirs {
- noop $finddir($+($minecraftdir,saves\),*,0,1,did -a iPMCBT 9 $1-)
- noop $finddir($minecraftdir,*bin*,0,1,did -a iPMCBT 9 $1-)
- }
- on *:dialog:iPMCBT:dclick:9:{
- if ($right($did(9).seltext,4) == \bin) {
- if ($exists($+($minecraftdir,bin\minecraft.jar))) {
- mcbackup -b $did(9).seltext
- did -r $dname 9
- }
- else {
- ipmcbtdirerr
- }
- }
- elseif (*\saves\* iswm $did(9).seltext) {
- echo -tg LOLWUT
- if ($isdir($did(9).seltext)) {
- mcbackup -w $did(9).seltext
- did -r $dname 9
- }
- else {
- ipmcbtdirerr
- }
- }
- }
- alias -l ipmcbtdirerr {
- noop $input(It appears that the directory in the settings file has changed since you opened this dialog. You didn't change that by any chance did you?,ogbiud,I see what you did there)
- halt
- }
- alias -l mcbe {
- if ($window(@mcbackuplist)) {
- echo $iif($1 == -e,4) @mcbackuplist $iif($1 == -e,$2-,$1-)
- }
- elseif ($dialog(iPMCBT)) {
- did -a iPMCBT 9 $iif($1 == -e,ERROR: $2-,$1-)
- did -c iPMCBT 9 $did(iPMCBT,9).lines
- did -u iPMCBT 9 $did(iPMCBT,9).lines
- }
- else { noop $input(An error has occured while trying to output data to the dialog.,owdu,Error) }
- }
- alias -l getsetting { return $readini(mcbackup.ini,Settings,$md5($1)) }
- alias -l setsetting { writeini mcbackup.ini Settings $md5($1) $2- }
- alias minecraftdir { return $getsetting(mcdir) }
- alias mcbackup {
- if (!$1) {
- window -dl50e @mcbackuplist
- noop $finddir($+($minecraftdir,saves\),*,0,1,@mcbackuplist)
- noop $finddir($minecraftdir,*bin*,0,1,@mcbackuplist)
- halt
- }
- mcbackupdo $1 $2-
- }
- alias -l mcbackupdo {
- if ($1 == -w) {
- if ($window(@mcbackuplist)) { clear @mcbackuplist }
- %world = $qt($2-)
- %backupdir = $qt($iif($getsetting(backupdir),$+($v1,$iif($right($v1,1) != \,\)),$mircdirMinecraft Backups\))
- %worlddir = $gettok($2-,-1,$asc(\))
- mcbe Checking folders...
- if (!$exists(%backupdir)) {
- mkdir %backupdir
- if ($window(@mcbackuplist)) { echo @mcbackuplist Creating %backupdir }
- }
- if (!$exists($+($noqt(%backupdir),Worlds\))) {
- mkdir $qt($+($noqt(%backupdir),Worlds\))
- mcbe Creating $qt($+($noqt(%backupdir),Worlds\))
- }
- %backupdir = $+($noqt(%backupdir),Worlds\)
- if (!$exists($qt($+(%backupdir,%worlddir)))) {
- mcbe Creating $qt($+(%backupdir,%worlddir,\))
- mkdir $qt($+(%backupdir,%worlddir,\))
- }
- if ($exists($+(%backupdir,%worlddir,\,$asctime($ctime,dd-mm-yy_hh.nn.ss),\))) {
- var %bkupid 1
- while ($exists($qt($+(%backupdir,%worlddir,$asctime($ctime,dd-mm-yy_hh.nn.ss),-,%bkupid))) {
- inc %bkupid
- }
- }
- %copyfolder = $iif(%bkupid > 1,$+(%backupdir,%worlddir,\,$asctime($ctime,dd-mm-yy_hh.nn.ss),-,%bkupid),$+(%backupdir,%worlddir,\,$asctime($ctime,dd-mm-yy_hh.nn.ss)))
- mkdir $qt(%copyfolder)
- var %totalfiles $findfile(%world,*,0,)
- mcbe %totalfiles total files | mcbe Creating $qt(%copyfolder)
- noop $finddir(%world,*,0,createfolder $+(%copyfolder,$remove($1-,$noqt(%world))))
- mcbe Copying world files | mcbe $str(-,30)
- noop $findfile(%world,*,0,copyworldfiles %totalfiles $1-)
- mcbe Done copying
- unset %f
- if (%backupallthethings) {
- inc %backupid
- if (%backupid > %totalbackupid) { mcbe Full backup complete. | unset %backupallthethings %*backupid %firstworld %bindir | halt }
- else mcbe Run %backupid of %totalbackupid
- noop $finddir($+($minecraftdir,saves\),*,%backupid,1,mcbackup -w $1-)
- }
- halt
- :error
- mcbe -e -> $error
- reseterror
- halt
- }
- elseif ($1 == -b) {
- %n = $iif($?="Enter a name for this backup (leave blank to use current system time)",$v1,$asctime($ctime,dd-mm-yy_hh.nn.ss))
- if ($2 == r) {
- %d = $3-
- }
- else {
- %d = $2-
- }
- mcbe Creating folders
- var %c $iif($getsetting(backupdir),$+($v1,$iif($right($v1,1) != \,\)),$mircdirMinecraft Backups\), %c2 $+($noqt(%c),bin\,%n)
- var %x 2
- set %o $gettok(%c2,1,$asc(\))
- while ($gettok(%c2,%x,$asc(\))) {
- %o = %o $+ \ $+ $v1 $+
- mcbe Checking for folder: %o
- if (!$exists(%o)) { createfolder %o }
- inc %x
- }
- ;noop $finddir(%d,*,0,1,createfolder $+($replace(%d,$minecraftdir,%o)))
- var %t $findfile(%d,*,0,1,)
- mcbe %t files
- noop $findfile(%d,*,0,1,copybinfiles %t $1-)
- mcbe Done copying
- unset %c %c2 %f %d %n %x %o
- if (%backupallthethings) {
- mcbackup -w %firstworld
- }
- halt
- :error
- mcbe -e -> ERROR: $error
- reseterror
- halt
- }
- }
- alias -l createfolder {
- mkdir $qt($+($1-,\))
- mcbe Creating folder $1- $+ ...
- }
- alias -l copyworldfiles {
- inc %f
- mcbe Copying world file $+($chr(40),%f,/,$1,$chr(41),:) $2-
- .copy $qt($2-) $qt($+(%copyfolder,\,$remove($2-,$noqt(%world))))
- }
- menu @mcbackuplist {
- dclick: {
- if ($line(@mcbackuplist,0) > 0) { clear @mcbackuplist }
- var %f $line(@mcbackuplist,$$1-,1)
- echo @mcbackuplist Preparing to copy from %f $+ ...
- mcbackup $iif(*saves* iswm %f,-w,-b) %f
- }
- }
- alias -l copybinfiles {
- inc %f
- mcbe Copying $2- -> $qt($+(%o,\,$gettok($2-,-1,$asc(\)),))
- .copy $qt($2-) $qt($+(%o,\,$gettok($2-,-1,$asc(\)),))
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement