so where this question was all about was just that I forgot to change new file
to new folder
. (Because I just copy, pasted the code a few times.)
Regarding to the answer of vadian, here is the new code (edited):
property rustItems : {"Render.plist", "KleurInstellingen.txt", "Vrienden.txt", "Vijanden.txt", "Rust-Python-Embed.py", ¬
"Std__PATH.plist", "CargoRun.sett", "Rust-Package.fix", "Rust-Package-Auto.app", ¬
"Rust-PKG.pkg", "Project-Layout.jar", "Run-EXP.gib", "Radar.jar"}
property displayItems : {"Commons-io-2.4.jar", "commons-io-2.4.jar.sha", "Lastlog.log.gz", "Lastlog2.log.gz", ¬
"windows.pkg", "ModuleSettings.pkg", "ModuleStates.pkg", "ColorBinds.pkg", "ModsReturn.pkg", "Textures_1.png", "Textures_2.png", "Textures_3.png"}
property jortpepeItems : {"Rust.class", "Rust$1.class"}
property utilityItems : {"Layout.class", "XYZ__Layout.class"}
property managerItems : {"Restrictions.class", "MAX__DELAY.class"}
property listenerItems : {"OtherEvents.class", "PlayerEvents.class", "PlayerEvents$1.class", ¬
"PlayerChat.class", "PlayerChat$1.class"}
set chosenfolder to choose folder with prompt "Choose the Game folder to install the mods."
tell application "Finder"
if exists folder "Rust$1" of chosenfolder then delete folder "Rust$1" of chosenfolder
set modsFolder to make new folder at chosenfolder with properties {name:"Rust$1"}
repeat with anItem in rustItems
make new file at modsFolder with properties {name:anItem}
end repeat
set displayFolder to make new folder at modsFolder with properties {name:"Display"}
repeat with anItem in displayItems
make new file at displayFolder with properties {name:anItem}
end repeat
set jortpepeFolder to make new folder at modsFolder with properties {name:"jortpepe"}
repeat with anItem in jortpepeItems
make new file at jortpepeFolder with properties {name:anItem}
end repeat
set utilityFolder to make new folder at jortpepeFolder with properties {name:"Utilities"}
set managerFolder to make new folder at jortpepeFolder with properties {name:"Managers"}
set listenerFolder to make new folder at jortpepeFolder with properties {name:"Listeners"}
repeat with anItem in utilityItems
make new file at utilityFolder with properties {name:anItem}
end repeat
repeat with anItem in managerItems
make new file at managerFolder with properties {name:anItem}
end repeat
repeat with anItem in listenerItems
make new file at listenerFolder with properties {name:anItem}
end repeat
end tell
end
Thanks for reading.
Jort
PS: If you know another file extension I can add like .class .txt .pkg etc. then please give a comment to this question with that other file extension. (Because I still want a bigger fake library to be generated and with real existing file names it looks better :P)
Not really an answer, but an improvement.
This is a shorter version of your script using lists and repeat loops. Instead of an error branch repeating the whole code to create the structure it checks if the folder mods
exists and delete it if necessary before creating the items.
property modsItems : {"Render.plist", "KleurInstellingen.txt", "Vrienden.txt", "Vijanden.txt", "Rust-Python-Embed.pyth", ¬
"Std__PATH.plist", "CargoRun.sett", "Rust-Package.fix", "Rust-Package-Auto.app", ¬
"Rust-PKG.pkg", "Project-Layout.jar", "Run-EXP.gib", "Downloaded.txt", "Enttree.jar", "Radar.jar"}
property displayItems : {"Commons-io-2.4.jar", "commons-io-2.4.jar.sha", "Lastlog.log.gz", "Lastlog2.log.gz", ¬
"windows.pkg", "ModuleSettings.pkg", "ModuleStates.pkg", "ColorBinds.pkg", "ModsReturn.pkg", "Textures_1.png", "Textures_2.png", "Textures_3.png"}
property jortpepeItems : {"Rust.class", "Rust$1.class"}
property utilityItems : {"Layout.class", "XYZ__Layout.class"}
property managerItems : {"Restrictions.class", "MAX__DELAY.class"}
property listenerItems : {"OtherEvents.class", "PlayerEvents.class", "PlayerEvents$1.class", ¬
"PlayerChat.class", "PlayerChat$1.class"}
set chosenfolder to choose folder with prompt "Choose the Game folder to install the mods."
tell application "Finder"
if exists folder "mods" of chosenfolder then delete folder "mods" of chosenfolder
set modsFolder to make new folder at chosenfolder with properties {name:"mods"}
repeat with anItem in modsItems
make new file at modsFolder with properties {name:anItem}
end repeat
set displayFolder to make new folder at modsFolder with properties {name:"Display"}
repeat with anItem in displayItems
make new file at displayFolder with properties {name:anItem}
end repeat
set jortpepeFolder to make new folder at modsFolder with properties {name:"jortpepe"}
repeat with anItem in jortpepeItems
make new file at jortpepeFolder with properties {name:anItem}
end repeat
set utilityFolder to make new folder at jortpepeFolder with properties {name:"Utilities"}
set managerFolder to make new folder at jortpepeFolder with properties {name:"Managers"}
set listenerFolder to make new folder at jortpepeFolder with properties {name:"Listeners"}
repeat with anItem in utilityItems
make new file at utilityFolder with properties {name:anItem}
end repeat
repeat with anItem in managerItems
make new file at managerFolder with properties {name:anItem}
end repeat
repeat with anItem in listenerItems
make new file at listenerFolder with properties {name:anItem}
end repeat
end tell