diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ebb358c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,15 @@
+# Jetbrains IDE
+.idea/**/workspace.xml
+.idea/**/tasks.xml
+.idea/**/usage.statistics.xml
+.idea/**/dictionaries
+.idea/**/shelf
+.idea/artifacts
+.idea/compiler.xml
+.idea/jarRepositories.xml
+.idea/modules.xml
+.idea/*.iml
+.idea/modules
+*.iml
+*.ipr
+.internal/Tools/*
\ No newline at end of file
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/discord.xml b/.idea/discord.xml
new file mode 100644
index 0000000..d8e9561
--- /dev/null
+++ b/.idea/discord.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Examples_v2.xml b/.idea/libraries/Examples_v2.xml
new file mode 100644
index 0000000..155fc1f
--- /dev/null
+++ b/.idea/libraries/Examples_v2.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Examples_v3.xml b/.idea/libraries/Examples_v3.xml
new file mode 100644
index 0000000..3114003
--- /dev/null
+++ b/.idea/libraries/Examples_v3.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..adaef24
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/Build_v2_packs.xml b/.idea/runConfigurations/Build_v2_packs.xml
new file mode 100644
index 0000000..42a72a1
--- /dev/null
+++ b/.idea/runConfigurations/Build_v2_packs.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/Build_v3_packs.xml b/.idea/runConfigurations/Build_v3_packs.xml
new file mode 100644
index 0000000..2044066
--- /dev/null
+++ b/.idea/runConfigurations/Build_v3_packs.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Resource Packs/Examples-v2/VPExample-1.20-1.20.1.zip b/.internal/Sources/Examples-v2/VPExample.zip
similarity index 100%
rename from Resource Packs/Examples-v2/VPExample-1.20-1.20.1.zip
rename to .internal/Sources/Examples-v2/VPExample.zip
diff --git a/Resource Packs/Examples-v3/VPExampleNew-1.20-1.20.1.zip b/.internal/Sources/Examples-v3/VPExample.zip
similarity index 100%
rename from Resource Packs/Examples-v3/VPExampleNew-1.20-1.20.1.zip
rename to .internal/Sources/Examples-v3/VPExample.zip
diff --git a/.internal/Sources/README.md b/.internal/Sources/README.md
new file mode 100644
index 0000000..f40d77e
--- /dev/null
+++ b/.internal/Sources/README.md
@@ -0,0 +1,4 @@
+# Converter scripts
+This directory contains scripts that are used to convert the data from the original format to the format used in the project.
+
+The VPExample.zip files are for version 1.20, which is the source.
\ No newline at end of file
diff --git a/.internal/Sources/convert.py b/.internal/Sources/convert.py
new file mode 100644
index 0000000..f332cc7
--- /dev/null
+++ b/.internal/Sources/convert.py
@@ -0,0 +1,118 @@
+import os
+import shutil
+import subprocess
+import requests
+
+def parse_versions(file_path):
+ versions = []
+ with open(file_path, 'r') as file:
+ for line in file:
+ parts = line.strip().split('#')
+ version_description = parts[1]
+ versions.append(version_description)
+ return versions
+
+def download_latest_jar(repo_url, jar_directory, jar_name="ResourcePackConverter.jar"):
+ api_url = f"https://api.github.com/repos/{repo_url}/releases"
+ response = requests.get(api_url)
+ response.raise_for_status()
+ releases = response.json()
+
+ jar_url = None
+ for release in releases:
+ if release['assets']:
+ for asset in release['assets']:
+ if asset['name'] == jar_name:
+ jar_url = asset['browser_download_url']
+ break
+ if jar_url:
+ break
+
+ if not jar_url:
+ raise FileNotFoundError(f"No JAR file named {jar_name} found in the releases.")
+
+ jar_path = os.path.join(jar_directory, jar_name)
+
+ os.makedirs(jar_directory, exist_ok=True)
+ response = requests.get(jar_url)
+ response.raise_for_status()
+
+ with open(jar_path, 'wb') as file:
+ file.write(response.content)
+
+ return jar_path
+
+def copy_zip_file(src, dst):
+ if not os.path.exists(dst):
+ os.makedirs(dst)
+ shutil.copy(src, dst)
+
+def run_java_command(version, jar_file, input_zip):
+ command = f"java -jar {jar_file} --from 1.20 --to {version} -i {input_zip}"
+ print(f"Executing: {command}")
+ subprocess.run(command, shell=True)
+
+def main(version_type):
+ if version_type not in ['v2', 'v3']:
+ raise ValueError("Invalid version type. Choose 'v2' or 'v3'.")
+
+ versions_file = f'versions_{version_type}.txt'
+ jar_directory = '../Tools/'
+ jar_name = "ResourcePackConverter.jar"
+ src_zip = f'Examples-{version_type}/VPExample.zip'
+ output_dir = f'../../ResourcePacks/Examples-{version_type}/'
+ repo_url = "agentdid127/ResourcePackConverter"
+ output_zip_name = "VPExample_converted.zip"
+
+ # Remove all zip files in the output directory
+ for file in os.listdir(output_dir):
+ if file.endswith(".zip"):
+ os.remove(os.path.join(output_dir, file))
+
+ # Parse versions from the file
+ versions = parse_versions(versions_file)
+
+ # Download the latest JAR file from GitHub
+ latest_jar = os.path.join(jar_directory, jar_name)
+ # TODO Re-enable
+ # latest_jar = download_latest_jar(repo_url, jar_directory, jar_name)
+
+ # Copy the zip file to the tools directory
+ copy_zip_file(src_zip, jar_directory)
+
+ try:
+ for version_description in versions:
+ # Run the Java command
+ run_java_command(version_description.split('-')[-1], latest_jar, jar_directory)
+
+ # Define the destination path with the new name
+ final_output_path = os.path.join(output_dir, f"VPExample-{version_type}-{version_description}.zip")
+
+ # Move and rename the output zip file to the destination
+ output_zip_path = os.path.join(jar_directory, output_zip_name)
+ shutil.move(output_zip_path, final_output_path)
+ print(f"Moved {output_zip_path} to {final_output_path}")
+
+ # Add the file to git
+ os.system(f"git add {final_output_path}")
+ finally:
+ # Remove the JAR file and the input zip file
+ run_path_folder = os.path.join(jar_directory, "VPExample_converted")
+ if os.path.exists(run_path_folder):
+ shutil.rmtree(run_path_folder)
+ # if os.path.exists(latest_jar):
+ # os.remove(latest_jar)
+ input_zip_path = os.path.join(jar_directory, os.path.basename(src_zip))
+ if os.path.exists(input_zip_path):
+ os.remove(input_zip_path)
+
+ print("Conversion completed.")
+
+if __name__ == '__main__':
+ import sys
+ if len(sys.argv) != 2:
+ print("Usage: python convert_versions.py [v2|v3]")
+ sys.exit(1)
+
+ version_type = sys.argv[1]
+ main(version_type)
diff --git a/.internal/Sources/versions_v2.txt b/.internal/Sources/versions_v2.txt
new file mode 100644
index 0000000..f44876a
--- /dev/null
+++ b/.internal/Sources/versions_v2.txt
@@ -0,0 +1,14 @@
+3#1.12.2
+4#1.13.2-1.14.4
+5#1.15.2-1.16.1
+6#1.16.2-1.16.5
+7#1.17-1.17.1
+8#1.18-1.18.2
+9#1.19-1.19.2
+11#1.19.3
+13#1.19.4
+15#1.20-1.20.1
+18#1.20.2
+22#1.20.3-1.20.4
+32#1.20.5-1.20.6
+34#1.21
\ No newline at end of file
diff --git a/.internal/Sources/versions_v3.txt b/.internal/Sources/versions_v3.txt
new file mode 100644
index 0000000..6e03142
--- /dev/null
+++ b/.internal/Sources/versions_v3.txt
@@ -0,0 +1,13 @@
+4#1.14-1.14.4
+5#1.15.2-1.16.1
+6#1.16.2-1.16.5
+7#1.17-1.17.1
+8#1.18-1.18.2
+9#1.19-1.19.2
+11#1.19.3
+13#1.19.4
+15#1.20-1.20.1
+18#1.20.2
+22#1.20.3-1.20.4
+32#1.20.5-1.20.6
+34#1.21
\ No newline at end of file
diff --git a/.internal/Tools/.gitkeep b/.internal/Tools/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/Resource Packs/Examples-v2/VPExample-1.12.2.zip b/Resource Packs/Examples-v2/VPExample-1.12.2.zip
deleted file mode 100644
index 25e9264..0000000
Binary files a/Resource Packs/Examples-v2/VPExample-1.12.2.zip and /dev/null differ
diff --git a/Resource Packs/Examples-v2/VPExample-1.13.2-1.14.4.zip b/Resource Packs/Examples-v2/VPExample-1.13.2-1.14.4.zip
deleted file mode 100644
index 051e6a8..0000000
Binary files a/Resource Packs/Examples-v2/VPExample-1.13.2-1.14.4.zip and /dev/null differ
diff --git a/Resource Packs/Examples-v2/VPExample-1.15.2-1.16.1.zip b/Resource Packs/Examples-v2/VPExample-1.15.2-1.16.1.zip
deleted file mode 100644
index 9c4aa04..0000000
Binary files a/Resource Packs/Examples-v2/VPExample-1.15.2-1.16.1.zip and /dev/null differ
diff --git a/Resource Packs/Examples-v2/VPExample-1.16.2-1.16.4.zip b/Resource Packs/Examples-v2/VPExample-1.16.2-1.16.4.zip
deleted file mode 100644
index de074f6..0000000
Binary files a/Resource Packs/Examples-v2/VPExample-1.16.2-1.16.4.zip and /dev/null differ
diff --git a/Resource Packs/Examples-v2/VPExample-1.19.3.zip b/Resource Packs/Examples-v2/VPExample-1.19.3.zip
deleted file mode 100644
index 4a74018..0000000
Binary files a/Resource Packs/Examples-v2/VPExample-1.19.3.zip and /dev/null differ
diff --git a/Resource Packs/Examples-v2/VPExample-1.19.4.zip b/Resource Packs/Examples-v2/VPExample-1.19.4.zip
deleted file mode 100644
index 2d2a1d0..0000000
Binary files a/Resource Packs/Examples-v2/VPExample-1.19.4.zip and /dev/null differ
diff --git a/Resource Packs/Examples-v3/VPExampleNew-1.14.x.zip b/Resource Packs/Examples-v3/VPExampleNew-1.14.x.zip
deleted file mode 100644
index 90c199d..0000000
Binary files a/Resource Packs/Examples-v3/VPExampleNew-1.14.x.zip and /dev/null differ
diff --git a/Resource Packs/Examples-v3/VPExampleNew-1.15.x.zip b/Resource Packs/Examples-v3/VPExampleNew-1.15.x.zip
deleted file mode 100644
index 35e766c..0000000
Binary files a/Resource Packs/Examples-v3/VPExampleNew-1.15.x.zip and /dev/null differ
diff --git a/Resource Packs/Examples-v3/VPExampleNew-1.16.x.zip b/Resource Packs/Examples-v3/VPExampleNew-1.16.x.zip
deleted file mode 100644
index b17999b..0000000
Binary files a/Resource Packs/Examples-v3/VPExampleNew-1.16.x.zip and /dev/null differ
diff --git a/Resource Packs/Examples-v3/VPExampleNew-1.17.x.zip b/Resource Packs/Examples-v3/VPExampleNew-1.17.x.zip
deleted file mode 100644
index 7545d60..0000000
Binary files a/Resource Packs/Examples-v3/VPExampleNew-1.17.x.zip and /dev/null differ
diff --git a/Resource Packs/Examples-v3/VPExampleNew-1.18.x.zip b/Resource Packs/Examples-v3/VPExampleNew-1.18.x.zip
deleted file mode 100644
index dcbec9c..0000000
Binary files a/Resource Packs/Examples-v3/VPExampleNew-1.18.x.zip and /dev/null differ
diff --git a/Resource Packs/Examples-v3/VPExampleNew-1.19-1.19.2.zip b/Resource Packs/Examples-v3/VPExampleNew-1.19-1.19.2.zip
deleted file mode 100644
index b58d0c3..0000000
Binary files a/Resource Packs/Examples-v3/VPExampleNew-1.19-1.19.2.zip and /dev/null differ
diff --git a/Resource Packs/Examples-v3/VPExampleNew-1.19.3.zip b/Resource Packs/Examples-v3/VPExampleNew-1.19.3.zip
deleted file mode 100644
index 83c03fa..0000000
Binary files a/Resource Packs/Examples-v3/VPExampleNew-1.19.3.zip and /dev/null differ
diff --git a/Resource Packs/Examples-v3/VPExampleNew-1.19.4.zip b/Resource Packs/Examples-v3/VPExampleNew-1.19.4.zip
deleted file mode 100644
index 067d1c0..0000000
Binary files a/Resource Packs/Examples-v3/VPExampleNew-1.19.4.zip and /dev/null differ
diff --git a/Resource Packs/Examples-v2/README.md b/ResourcePacks/Examples-v2/README.md
similarity index 100%
rename from Resource Packs/Examples-v2/README.md
rename to ResourcePacks/Examples-v2/README.md
diff --git a/Resource Packs/Examples-v2/VPExample-1.17.x.zip b/ResourcePacks/Examples-v2/VPExample-v2-1.12.2.zip
similarity index 95%
rename from Resource Packs/Examples-v2/VPExample-1.17.x.zip
rename to ResourcePacks/Examples-v2/VPExample-v2-1.12.2.zip
index de88ed4..e09ef13 100644
Binary files a/Resource Packs/Examples-v2/VPExample-1.17.x.zip and b/ResourcePacks/Examples-v2/VPExample-v2-1.12.2.zip differ
diff --git a/Resource Packs/Examples-v2/VPExample-1.18.x.zip b/ResourcePacks/Examples-v2/VPExample-v2-1.13.2-1.14.4.zip
similarity index 95%
rename from Resource Packs/Examples-v2/VPExample-1.18.x.zip
rename to ResourcePacks/Examples-v2/VPExample-v2-1.13.2-1.14.4.zip
index 9b55d35..9159277 100644
Binary files a/Resource Packs/Examples-v2/VPExample-1.18.x.zip and b/ResourcePacks/Examples-v2/VPExample-v2-1.13.2-1.14.4.zip differ
diff --git a/Resource Packs/Examples-v2/VPExample-1.19-1.19.2.zip b/ResourcePacks/Examples-v2/VPExample-v2-1.15.2-1.16.1.zip
similarity index 95%
rename from Resource Packs/Examples-v2/VPExample-1.19-1.19.2.zip
rename to ResourcePacks/Examples-v2/VPExample-v2-1.15.2-1.16.1.zip
index 7c0d765..dfcd83f 100644
Binary files a/Resource Packs/Examples-v2/VPExample-1.19-1.19.2.zip and b/ResourcePacks/Examples-v2/VPExample-v2-1.15.2-1.16.1.zip differ
diff --git a/ResourcePacks/Examples-v2/VPExample-v2-1.16.2-1.16.5.zip b/ResourcePacks/Examples-v2/VPExample-v2-1.16.2-1.16.5.zip
new file mode 100644
index 0000000..fa6528d
Binary files /dev/null and b/ResourcePacks/Examples-v2/VPExample-v2-1.16.2-1.16.5.zip differ
diff --git a/ResourcePacks/Examples-v2/VPExample-v2-1.17-1.17.1.zip b/ResourcePacks/Examples-v2/VPExample-v2-1.17-1.17.1.zip
new file mode 100644
index 0000000..15f2522
Binary files /dev/null and b/ResourcePacks/Examples-v2/VPExample-v2-1.17-1.17.1.zip differ
diff --git a/ResourcePacks/Examples-v2/VPExample-v2-1.18-1.18.2.zip b/ResourcePacks/Examples-v2/VPExample-v2-1.18-1.18.2.zip
new file mode 100644
index 0000000..98a701f
Binary files /dev/null and b/ResourcePacks/Examples-v2/VPExample-v2-1.18-1.18.2.zip differ
diff --git a/ResourcePacks/Examples-v2/VPExample-v2-1.19-1.19.2.zip b/ResourcePacks/Examples-v2/VPExample-v2-1.19-1.19.2.zip
new file mode 100644
index 0000000..eb1c842
Binary files /dev/null and b/ResourcePacks/Examples-v2/VPExample-v2-1.19-1.19.2.zip differ
diff --git a/ResourcePacks/Examples-v2/VPExample-v2-1.19.3.zip b/ResourcePacks/Examples-v2/VPExample-v2-1.19.3.zip
new file mode 100644
index 0000000..39e732a
Binary files /dev/null and b/ResourcePacks/Examples-v2/VPExample-v2-1.19.3.zip differ
diff --git a/ResourcePacks/Examples-v2/VPExample-v2-1.19.4.zip b/ResourcePacks/Examples-v2/VPExample-v2-1.19.4.zip
new file mode 100644
index 0000000..1cd8619
Binary files /dev/null and b/ResourcePacks/Examples-v2/VPExample-v2-1.19.4.zip differ
diff --git a/ResourcePacks/Examples-v2/VPExample-v2-1.20-1.20.1.zip b/ResourcePacks/Examples-v2/VPExample-v2-1.20-1.20.1.zip
new file mode 100644
index 0000000..101d2fd
Binary files /dev/null and b/ResourcePacks/Examples-v2/VPExample-v2-1.20-1.20.1.zip differ
diff --git a/ResourcePacks/Examples-v2/VPExample-v2-1.20.2.zip b/ResourcePacks/Examples-v2/VPExample-v2-1.20.2.zip
new file mode 100644
index 0000000..9d6fd04
Binary files /dev/null and b/ResourcePacks/Examples-v2/VPExample-v2-1.20.2.zip differ
diff --git a/ResourcePacks/Examples-v2/VPExample-v2-1.20.3-1.20.4.zip b/ResourcePacks/Examples-v2/VPExample-v2-1.20.3-1.20.4.zip
new file mode 100644
index 0000000..a1cdeac
Binary files /dev/null and b/ResourcePacks/Examples-v2/VPExample-v2-1.20.3-1.20.4.zip differ
diff --git a/ResourcePacks/Examples-v2/VPExample-v2-1.20.5-1.20.6.zip b/ResourcePacks/Examples-v2/VPExample-v2-1.20.5-1.20.6.zip
new file mode 100644
index 0000000..963e061
Binary files /dev/null and b/ResourcePacks/Examples-v2/VPExample-v2-1.20.5-1.20.6.zip differ
diff --git a/Resource Packs/Examples-v2/VPExample-1.20.2-1.20.4.zip b/ResourcePacks/Examples-v2/VPExample-v2-1.21.zip
similarity index 96%
rename from Resource Packs/Examples-v2/VPExample-1.20.2-1.20.4.zip
rename to ResourcePacks/Examples-v2/VPExample-v2-1.21.zip
index 20205e7..f7f8bfa 100644
Binary files a/Resource Packs/Examples-v2/VPExample-1.20.2-1.20.4.zip and b/ResourcePacks/Examples-v2/VPExample-v2-1.21.zip differ
diff --git a/Resource Packs/Examples-v3/README.md b/ResourcePacks/Examples-v3/README.md
similarity index 100%
rename from Resource Packs/Examples-v3/README.md
rename to ResourcePacks/Examples-v3/README.md
diff --git a/Resource Packs/Examples-v3/VPExampleNew-1.20.2-1.20.4.zip b/ResourcePacks/Examples-v3/VPExample-v3-1.14-1.14.4.zip
similarity index 97%
rename from Resource Packs/Examples-v3/VPExampleNew-1.20.2-1.20.4.zip
rename to ResourcePacks/Examples-v3/VPExample-v3-1.14-1.14.4.zip
index 5623137..a18a702 100644
Binary files a/Resource Packs/Examples-v3/VPExampleNew-1.20.2-1.20.4.zip and b/ResourcePacks/Examples-v3/VPExample-v3-1.14-1.14.4.zip differ
diff --git a/ResourcePacks/Examples-v3/VPExample-v3-1.15.2-1.16.1.zip b/ResourcePacks/Examples-v3/VPExample-v3-1.15.2-1.16.1.zip
new file mode 100644
index 0000000..f226c8f
Binary files /dev/null and b/ResourcePacks/Examples-v3/VPExample-v3-1.15.2-1.16.1.zip differ
diff --git a/ResourcePacks/Examples-v3/VPExample-v3-1.16.2-1.16.5.zip b/ResourcePacks/Examples-v3/VPExample-v3-1.16.2-1.16.5.zip
new file mode 100644
index 0000000..0d89a0c
Binary files /dev/null and b/ResourcePacks/Examples-v3/VPExample-v3-1.16.2-1.16.5.zip differ
diff --git a/ResourcePacks/Examples-v3/VPExample-v3-1.17-1.17.1.zip b/ResourcePacks/Examples-v3/VPExample-v3-1.17-1.17.1.zip
new file mode 100644
index 0000000..550fbd3
Binary files /dev/null and b/ResourcePacks/Examples-v3/VPExample-v3-1.17-1.17.1.zip differ
diff --git a/ResourcePacks/Examples-v3/VPExample-v3-1.18-1.18.2.zip b/ResourcePacks/Examples-v3/VPExample-v3-1.18-1.18.2.zip
new file mode 100644
index 0000000..4558101
Binary files /dev/null and b/ResourcePacks/Examples-v3/VPExample-v3-1.18-1.18.2.zip differ
diff --git a/ResourcePacks/Examples-v3/VPExample-v3-1.19-1.19.2.zip b/ResourcePacks/Examples-v3/VPExample-v3-1.19-1.19.2.zip
new file mode 100644
index 0000000..b9bc06a
Binary files /dev/null and b/ResourcePacks/Examples-v3/VPExample-v3-1.19-1.19.2.zip differ
diff --git a/ResourcePacks/Examples-v3/VPExample-v3-1.19.3.zip b/ResourcePacks/Examples-v3/VPExample-v3-1.19.3.zip
new file mode 100644
index 0000000..8599365
Binary files /dev/null and b/ResourcePacks/Examples-v3/VPExample-v3-1.19.3.zip differ
diff --git a/ResourcePacks/Examples-v3/VPExample-v3-1.19.4.zip b/ResourcePacks/Examples-v3/VPExample-v3-1.19.4.zip
new file mode 100644
index 0000000..8ae8e02
Binary files /dev/null and b/ResourcePacks/Examples-v3/VPExample-v3-1.19.4.zip differ
diff --git a/ResourcePacks/Examples-v3/VPExample-v3-1.20-1.20.1.zip b/ResourcePacks/Examples-v3/VPExample-v3-1.20-1.20.1.zip
new file mode 100644
index 0000000..34bbae8
Binary files /dev/null and b/ResourcePacks/Examples-v3/VPExample-v3-1.20-1.20.1.zip differ
diff --git a/ResourcePacks/Examples-v3/VPExample-v3-1.20.2.zip b/ResourcePacks/Examples-v3/VPExample-v3-1.20.2.zip
new file mode 100644
index 0000000..25a404c
Binary files /dev/null and b/ResourcePacks/Examples-v3/VPExample-v3-1.20.2.zip differ
diff --git a/ResourcePacks/Examples-v3/VPExample-v3-1.20.3-1.20.4.zip b/ResourcePacks/Examples-v3/VPExample-v3-1.20.3-1.20.4.zip
new file mode 100644
index 0000000..f287032
Binary files /dev/null and b/ResourcePacks/Examples-v3/VPExample-v3-1.20.3-1.20.4.zip differ
diff --git a/ResourcePacks/Examples-v3/VPExample-v3-1.20.5-1.20.6.zip b/ResourcePacks/Examples-v3/VPExample-v3-1.20.5-1.20.6.zip
new file mode 100644
index 0000000..8c7a6ea
Binary files /dev/null and b/ResourcePacks/Examples-v3/VPExample-v3-1.20.5-1.20.6.zip differ
diff --git a/ResourcePacks/Examples-v3/VPExample-v3-1.21.zip b/ResourcePacks/Examples-v3/VPExample-v3-1.21.zip
new file mode 100644
index 0000000..726e817
Binary files /dev/null and b/ResourcePacks/Examples-v3/VPExample-v3-1.21.zip differ
diff --git a/Resource Packs/README.md b/ResourcePacks/README.md
similarity index 100%
rename from Resource Packs/README.md
rename to ResourcePacks/README.md
diff --git a/Resource Packs/Tutorial/README.md b/ResourcePacks/Tutorial/README.md
similarity index 100%
rename from Resource Packs/Tutorial/README.md
rename to ResourcePacks/Tutorial/README.md
diff --git a/Resource Packs/Tutorial/assets/minecraft/models/item/Thumbs.db b/ResourcePacks/Tutorial/assets/minecraft/models/item/Thumbs.db
similarity index 100%
rename from Resource Packs/Tutorial/assets/minecraft/models/item/Thumbs.db
rename to ResourcePacks/Tutorial/assets/minecraft/models/item/Thumbs.db
diff --git a/Resource Packs/Tutorial/assets/minecraft/models/item/leather_boots.json b/ResourcePacks/Tutorial/assets/minecraft/models/item/leather_boots.json
similarity index 100%
rename from Resource Packs/Tutorial/assets/minecraft/models/item/leather_boots.json
rename to ResourcePacks/Tutorial/assets/minecraft/models/item/leather_boots.json
diff --git a/Resource Packs/Tutorial/assets/minecraft/models/item/leather_chestplate.json b/ResourcePacks/Tutorial/assets/minecraft/models/item/leather_chestplate.json
similarity index 100%
rename from Resource Packs/Tutorial/assets/minecraft/models/item/leather_chestplate.json
rename to ResourcePacks/Tutorial/assets/minecraft/models/item/leather_chestplate.json
diff --git a/Resource Packs/Tutorial/assets/minecraft/models/item/leather_helmet.json b/ResourcePacks/Tutorial/assets/minecraft/models/item/leather_helmet.json
similarity index 100%
rename from Resource Packs/Tutorial/assets/minecraft/models/item/leather_helmet.json
rename to ResourcePacks/Tutorial/assets/minecraft/models/item/leather_helmet.json
diff --git a/Resource Packs/Tutorial/assets/minecraft/sounds.json b/ResourcePacks/Tutorial/assets/minecraft/sounds.json
similarity index 100%
rename from Resource Packs/Tutorial/assets/minecraft/sounds.json
rename to ResourcePacks/Tutorial/assets/minecraft/sounds.json
diff --git a/Resource Packs/Tutorial/assets/vp/sounds/vehicles/accelerate.ogg b/ResourcePacks/Tutorial/assets/vp/sounds/vehicles/accelerate.ogg
similarity index 100%
rename from Resource Packs/Tutorial/assets/vp/sounds/vehicles/accelerate.ogg
rename to ResourcePacks/Tutorial/assets/vp/sounds/vehicles/accelerate.ogg
diff --git a/Resource Packs/Tutorial/assets/vp/sounds/vehicles/driving.ogg b/ResourcePacks/Tutorial/assets/vp/sounds/vehicles/driving.ogg
similarity index 100%
rename from Resource Packs/Tutorial/assets/vp/sounds/vehicles/driving.ogg
rename to ResourcePacks/Tutorial/assets/vp/sounds/vehicles/driving.ogg
diff --git a/Resource Packs/Tutorial/assets/vp/sounds/vehicles/idle.ogg b/ResourcePacks/Tutorial/assets/vp/sounds/vehicles/idle.ogg
similarity index 100%
rename from Resource Packs/Tutorial/assets/vp/sounds/vehicles/idle.ogg
rename to ResourcePacks/Tutorial/assets/vp/sounds/vehicles/idle.ogg
diff --git a/Resource Packs/Tutorial/assets/vp/sounds/vehicles/slowingdown.ogg b/ResourcePacks/Tutorial/assets/vp/sounds/vehicles/slowingdown.ogg
similarity index 100%
rename from Resource Packs/Tutorial/assets/vp/sounds/vehicles/slowingdown.ogg
rename to ResourcePacks/Tutorial/assets/vp/sounds/vehicles/slowingdown.ogg
diff --git a/Resource Packs/Tutorial/assets/vp/sounds/vehicles/start.ogg b/ResourcePacks/Tutorial/assets/vp/sounds/vehicles/start.ogg
similarity index 100%
rename from Resource Packs/Tutorial/assets/vp/sounds/vehicles/start.ogg
rename to ResourcePacks/Tutorial/assets/vp/sounds/vehicles/start.ogg
diff --git a/Resource Packs/Tutorial/pack.mcmeta b/ResourcePacks/Tutorial/pack.mcmeta
similarity index 100%
rename from Resource Packs/Tutorial/pack.mcmeta
rename to ResourcePacks/Tutorial/pack.mcmeta