mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-05-06 23:47:13 +00:00
chore: get rid of move scripts
these have served their purpose
This commit is contained in:
parent
66b10b8226
commit
e5d9aa4fa4
|
|
@ -1,34 +0,0 @@
|
|||
#!/usr/bin/env python3
|
||||
"""Add #pragma once to headers that lack any include guard."""
|
||||
import os
|
||||
import re
|
||||
|
||||
ROOTS = [
|
||||
'Minecraft.World',
|
||||
'Minecraft.Client',
|
||||
'4J.Render',
|
||||
'4J.Input',
|
||||
'4J.Profile',
|
||||
'4J.Storage',
|
||||
]
|
||||
|
||||
GUARD_RE = re.compile(r'^\s*#\s*(pragma\s+once|ifndef\s+\w)', re.MULTILINE)
|
||||
|
||||
BASE = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
patched = 0
|
||||
|
||||
for root in ROOTS:
|
||||
for dirpath, _, files in os.walk(os.path.join(BASE, root)):
|
||||
for f in files:
|
||||
if not f.endswith('.h'):
|
||||
continue
|
||||
path = os.path.join(dirpath, f)
|
||||
try:
|
||||
content = open(path, 'r', encoding='utf-8', errors='replace').read()
|
||||
except Exception:
|
||||
continue
|
||||
if not GUARD_RE.search(content):
|
||||
open(path, 'w', encoding='utf-8').write('#pragma once\n' + content)
|
||||
patched += 1
|
||||
|
||||
print(f'Patched {patched} headers with #pragma once')
|
||||
|
|
@ -1,515 +0,0 @@
|
|||
#!/usr/bin/env python3
|
||||
"""
|
||||
move_and_fix_includes.py
|
||||
|
||||
Moves C/C++ files/folders and updates every #include "..." and CMake path
|
||||
that breaks as a result. Config lives in move_config.json next to this script.
|
||||
|
||||
Usage:
|
||||
python move_and_fix_includes.py
|
||||
python move_and_fix_includes.py --dry-run
|
||||
python move_and_fix_includes.py --config path/to/other.json
|
||||
|
||||
Move formats:
|
||||
{ "from": "Foo.cpp", "to": "Util/" }
|
||||
{ "from": "Foo.*", "to": "Util/" }
|
||||
{ "from": "Foo.**", "to": "Util/" }
|
||||
{ "from": "*Packet.*", "to": "Network/Packets/" }
|
||||
{ "from": "OldName.*", "to": "Util/", "rename": "NewName.*" }
|
||||
{ "from": "mydir/", "to": "Build/", "folder": "move" }
|
||||
{ "from": "mydir/", "to": "Build/", "folder": "contents" }
|
||||
"""
|
||||
|
||||
import argparse
|
||||
import fnmatch
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
import shutil
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
INCLUDE_RE = re.compile(r'(#\s*include\s*")([^"]+)(")')
|
||||
CMAKE_STRING_RE = re.compile(r'(")([^"\n]+)(")')
|
||||
|
||||
SOURCE_EXTS = {".c", ".cpp", ".cc", ".cxx", ".h", ".hpp", ".hh", ".hxx", ".inl"}
|
||||
CMAKE_NAMES = {"CMakeLists.txt"}
|
||||
CMAKE_EXTS = {".cmake"}
|
||||
|
||||
|
||||
def load_config(config_path: Path) -> dict:
|
||||
if not config_path.exists():
|
||||
print(f"ERROR: config file not found: {config_path}")
|
||||
raise SystemExit(1)
|
||||
|
||||
with config_path.open(encoding="utf-8") as f:
|
||||
try:
|
||||
cfg = json.load(f)
|
||||
except json.JSONDecodeError as e:
|
||||
print(f"ERROR: bad JSON in {config_path}: {e}")
|
||||
raise SystemExit(1)
|
||||
|
||||
cfg.setdefault("project_root", ".")
|
||||
cfg.setdefault("moves", [])
|
||||
cfg.setdefault("include_search_paths", [])
|
||||
cfg.setdefault("extra_scan_paths", [])
|
||||
return cfg
|
||||
|
||||
|
||||
def expand_dir_globs(raw: list[str], root: Path) -> list[Path]:
|
||||
"""
|
||||
Resolves a list of path strings into real directories, expanding globs.
|
||||
Splits each entry at the first glob character, uses Path.glob() on the
|
||||
fixed prefix, and keeps only directories from the results.
|
||||
Deduplicates while preserving order.
|
||||
"""
|
||||
result = []
|
||||
|
||||
for entry in raw:
|
||||
if "*" not in entry and "?" not in entry:
|
||||
p = Path(entry)
|
||||
result.append((p if p.is_absolute() else root / p).resolve())
|
||||
continue
|
||||
|
||||
parts = Path(entry).parts
|
||||
base_parts, pattern_parts, hit_glob = [], [], False
|
||||
for part in parts:
|
||||
if not hit_glob and "*" not in part and "?" not in part:
|
||||
base_parts.append(part)
|
||||
else:
|
||||
hit_glob = True
|
||||
pattern_parts.append(part)
|
||||
|
||||
base = Path(*base_parts) if base_parts else Path("")
|
||||
base = base if base.is_absolute() else (root / base).resolve()
|
||||
pattern = str(Path(*pattern_parts)) if pattern_parts else "*"
|
||||
|
||||
for match in sorted(base.glob(pattern)):
|
||||
if match.is_dir():
|
||||
result.append(match.resolve())
|
||||
|
||||
seen, deduped = set(), []
|
||||
for p in result:
|
||||
if p not in seen:
|
||||
seen.add(p)
|
||||
deduped.append(p)
|
||||
return deduped
|
||||
|
||||
|
||||
def expand_entry(entry: dict, root: Path) -> list[tuple[Path, Path]]:
|
||||
"""
|
||||
Turns one entry from the moves list into concrete (src, dst) path pairs.
|
||||
|
||||
Folder mode resolves the source as a directory. "move" keeps the folder
|
||||
intact at the destination; "contents" flattens its files into dst directly.
|
||||
|
||||
Wildcard mode matches files in the source directory by name pattern:
|
||||
"Foo.**" matches by name prefix (any number of dot-separated extensions)
|
||||
"Foo.*" matches by stem only (single extension)
|
||||
anything else is passed through fnmatch for general glob matching
|
||||
|
||||
The optional "rename" field swaps the destination stem. The matched
|
||||
file's extension(s) are kept as-is.
|
||||
"""
|
||||
src_rel = entry["from"]
|
||||
dst_rel = entry["to"]
|
||||
rename_to = entry.get("rename")
|
||||
folder_mode = entry.get("folder")
|
||||
|
||||
# "/" and "./" both mean project root — avoids resolving to filesystem root
|
||||
if dst_rel in ("/", "./"):
|
||||
dst_rel = ""
|
||||
|
||||
if folder_mode:
|
||||
src_dir = (root / src_rel.rstrip("/")).resolve()
|
||||
dst_dir = (root / dst_rel.rstrip("/")).resolve()
|
||||
|
||||
if not src_dir.exists() or not src_dir.is_dir():
|
||||
print(f" WARNING: folder not found, skipping: {src_dir}")
|
||||
return []
|
||||
|
||||
if folder_mode == "move":
|
||||
folder_name = rename_to.rstrip("/") if rename_to else src_dir.name
|
||||
return [(src_dir, dst_dir / folder_name)]
|
||||
|
||||
if folder_mode == "contents":
|
||||
pairs = []
|
||||
for f in sorted(src_dir.rglob("*")):
|
||||
if f.is_file():
|
||||
pairs.append((f.resolve(), (dst_dir / f.relative_to(src_dir)).resolve()))
|
||||
if not pairs:
|
||||
print(f" WARNING: folder is empty, skipping: {src_dir}")
|
||||
return pairs
|
||||
|
||||
print(f" WARNING: unknown folder mode '{folder_mode}', skipping")
|
||||
return []
|
||||
|
||||
src_name = Path(src_rel).name
|
||||
src_dir = Path(src_rel).parent
|
||||
|
||||
if "*" in src_name or "?" in src_name:
|
||||
parent = (root / src_dir).resolve()
|
||||
if not parent.exists():
|
||||
print(f" WARNING: directory not found for '{src_rel}', skipping")
|
||||
return []
|
||||
|
||||
if src_name.endswith(".**"):
|
||||
stem = src_name[:-3]
|
||||
matches = sorted(f for f in parent.iterdir()
|
||||
if f.name.startswith(stem + ".") and f.is_file())
|
||||
elif src_name.endswith(".*") and "*" not in src_name[:-2]:
|
||||
stem = src_name[:-2]
|
||||
matches = sorted(f for f in parent.iterdir()
|
||||
if f.stem == stem and f.is_file())
|
||||
else:
|
||||
stem = None
|
||||
matches = sorted(f for f in parent.iterdir()
|
||||
if fnmatch.fnmatch(f.name, src_name) and f.is_file())
|
||||
|
||||
if not matches:
|
||||
print(f" WARNING: no files matched '{src_rel}', skipping")
|
||||
return []
|
||||
|
||||
rename_stem = None
|
||||
if rename_to:
|
||||
rename_base = (
|
||||
rename_to[:-3] if rename_to.endswith(".**") else
|
||||
rename_to[:-2] if rename_to.endswith(".*") else
|
||||
rename_to
|
||||
)
|
||||
rename_stem = Path(rename_base).name
|
||||
|
||||
pairs = []
|
||||
for match in matches:
|
||||
if rename_stem:
|
||||
suffix = match.name[len(stem):] if (stem and src_name.endswith(".**")) else match.suffix
|
||||
new_name = rename_stem + suffix
|
||||
else:
|
||||
new_name = match.name
|
||||
|
||||
dst_abs = (root / dst_rel.rstrip("/") / new_name).resolve()
|
||||
pairs.append((match.resolve(), dst_abs))
|
||||
print(f" Wildcard matched: {match.relative_to(root)} -> {dst_abs.relative_to(root)}")
|
||||
|
||||
return pairs
|
||||
|
||||
src_abs = (root / src_rel).resolve()
|
||||
dst_abs = (root / dst_rel).resolve()
|
||||
|
||||
if dst_rel.endswith("/") or (dst_abs.exists() and dst_abs.is_dir()):
|
||||
name = (rename_to if rename_to and ".*" not in rename_to else None) or src_abs.name
|
||||
dst_abs = dst_abs / name
|
||||
elif rename_to and ".*" not in rename_to:
|
||||
dst_abs = dst_abs.parent / rename_to
|
||||
|
||||
return [(src_abs, dst_abs)]
|
||||
|
||||
|
||||
def collect_source_files(root: Path) -> list[Path]:
|
||||
files = []
|
||||
for ext in SOURCE_EXTS:
|
||||
files.extend(root.rglob(f"*{ext}"))
|
||||
return files
|
||||
|
||||
|
||||
def collect_cmake_files(root: Path) -> list[Path]:
|
||||
return [
|
||||
f for f in root.rglob("*")
|
||||
if f.is_file() and (f.name in CMAKE_NAMES or f.suffix in CMAKE_EXTS)
|
||||
]
|
||||
|
||||
|
||||
def find_file(inc_str: str, relative_to: Path, search_paths: list[Path]) -> Path | None:
|
||||
"""
|
||||
Resolves an include string to an absolute path by checking relative to the
|
||||
including file first, then each directory in search_paths in order.
|
||||
"""
|
||||
candidate = (relative_to / inc_str).resolve()
|
||||
if candidate.exists():
|
||||
return candidate
|
||||
for sp in search_paths:
|
||||
candidate = (sp / inc_str).resolve()
|
||||
if candidate.exists():
|
||||
return candidate
|
||||
return None
|
||||
|
||||
|
||||
def rel_path(target: Path, relative_to: Path) -> str:
|
||||
try:
|
||||
return os.path.relpath(target, start=relative_to).replace("\\", "/")
|
||||
except ValueError:
|
||||
return str(target)
|
||||
|
||||
|
||||
def print_change(filepath: Path, old_val: str, new_val: str, label: str, root: Path, dry_run: bool):
|
||||
outside = not filepath.is_relative_to(root)
|
||||
display = filepath if outside else filepath.relative_to(root)
|
||||
tag = "[DRY RUN] " if dry_run else ""
|
||||
tag += "[OUTSIDE-ROOT] " if outside else ""
|
||||
print(f" {tag}{label} in {display}\n - \"{old_val}\"\n + \"{new_val}\"")
|
||||
|
||||
|
||||
def rewrite_includes(
|
||||
filepath: Path,
|
||||
old_loc: Path | None,
|
||||
new_loc: Path | None,
|
||||
moved_map: dict[Path, Path],
|
||||
search_paths: list[Path],
|
||||
root: Path,
|
||||
dry_run: bool,
|
||||
) -> int:
|
||||
"""
|
||||
Rewrites #include "..." lines in a source file.
|
||||
|
||||
old_loc / new_loc are the file's old and new absolute paths — only set
|
||||
when the file itself is being moved. When set, any include that can't be
|
||||
resolved via moved_map is recalculated relative to new_loc so it still
|
||||
points at the same file from the new location.
|
||||
|
||||
Returns the number of lines changed.
|
||||
"""
|
||||
try:
|
||||
text = filepath.read_text(encoding="utf-8", errors="replace")
|
||||
except OSError as e:
|
||||
print(f" ⚠ Could not read {filepath}: {e}")
|
||||
return 0
|
||||
|
||||
lines, new_lines, changes = text.splitlines(keepends=True), [], 0
|
||||
|
||||
for line in lines:
|
||||
m = INCLUDE_RE.search(line)
|
||||
if not m:
|
||||
new_lines.append(line)
|
||||
continue
|
||||
|
||||
inc_str = m.group(2)
|
||||
base_dir = old_loc.parent if old_loc else filepath.parent
|
||||
resolved = find_file(inc_str, base_dir, search_paths)
|
||||
new_inc = inc_str
|
||||
|
||||
if resolved in moved_map:
|
||||
ref = new_loc.parent if new_loc else filepath.parent
|
||||
new_inc = rel_path(moved_map[resolved], ref)
|
||||
elif old_loc and new_loc and resolved:
|
||||
new_inc = rel_path(resolved, new_loc.parent)
|
||||
|
||||
if new_inc != inc_str:
|
||||
new_lines.append(line[:m.start(2)] + new_inc + line[m.end(2):])
|
||||
changes += 1
|
||||
print_change(filepath, inc_str, new_inc, "Updated include", root, dry_run)
|
||||
else:
|
||||
new_lines.append(line)
|
||||
|
||||
if changes and not dry_run:
|
||||
filepath.write_text("".join(new_lines), encoding="utf-8")
|
||||
|
||||
return changes
|
||||
|
||||
|
||||
def rewrite_cmake_paths(
|
||||
filepath: Path,
|
||||
moved_map: dict[Path, Path],
|
||||
search_paths: list[Path],
|
||||
root: Path,
|
||||
dry_run: bool,
|
||||
old_loc: Path | None = None,
|
||||
new_loc: Path | None = None,
|
||||
) -> int:
|
||||
"""
|
||||
Scans a CMake file for quoted strings that resolve to files being moved
|
||||
and updates them to the new relative path. Skips comment lines and any
|
||||
string that doesn't look like a file path (no dot or slash, or has spaces).
|
||||
|
||||
old_loc / new_loc work the same as in rewrite_includes — set when this
|
||||
CMake file is itself being moved, so paths are calculated from new_loc.
|
||||
|
||||
Returns the number of values changed.
|
||||
"""
|
||||
try:
|
||||
text = filepath.read_text(encoding="utf-8", errors="replace")
|
||||
except OSError as e:
|
||||
print(f" ⚠ Could not read {filepath}: {e}")
|
||||
return 0
|
||||
|
||||
lines, new_lines, changes = text.splitlines(keepends=True), [], 0
|
||||
|
||||
for line in lines:
|
||||
if line.lstrip().startswith("#"):
|
||||
new_lines.append(line)
|
||||
continue
|
||||
|
||||
new_line = line
|
||||
for m in list(CMAKE_STRING_RE.finditer(line)):
|
||||
val = m.group(2)
|
||||
if " " in val or ("." not in val and "/" not in val):
|
||||
continue
|
||||
base_dir = old_loc.parent if old_loc else filepath.parent
|
||||
resolved = find_file(val, base_dir, search_paths)
|
||||
if resolved not in moved_map and not (old_loc and new_loc and resolved):
|
||||
continue
|
||||
ref = new_loc.parent if new_loc else filepath.parent
|
||||
if resolved in moved_map:
|
||||
new_val = rel_path(moved_map[resolved], ref)
|
||||
else:
|
||||
new_val = rel_path(resolved, ref)
|
||||
if new_val == val:
|
||||
continue
|
||||
new_line = new_line[:m.start(2)] + new_val + new_line[m.end(2):]
|
||||
changes += 1
|
||||
print_change(filepath, val, new_val, "Updated CMake path", root, dry_run)
|
||||
|
||||
new_lines.append(new_line)
|
||||
|
||||
if changes and not dry_run:
|
||||
filepath.write_text("".join(new_lines), encoding="utf-8")
|
||||
|
||||
return changes
|
||||
|
||||
|
||||
def main(config_path: Path, dry_run: bool) -> None:
|
||||
cfg = load_config(config_path)
|
||||
root = Path(cfg["project_root"]).resolve()
|
||||
search_paths = expand_dir_globs(cfg["include_search_paths"], root)
|
||||
extra_dirs = expand_dir_globs(cfg["extra_scan_paths"], root)
|
||||
|
||||
if not root.exists():
|
||||
print(f"ERROR: project_root does not exist: {root}")
|
||||
raise SystemExit(1)
|
||||
|
||||
if not cfg["moves"]:
|
||||
print("No moves listed in config.")
|
||||
return
|
||||
|
||||
print("\nResolving moves…")
|
||||
all_pairs: list[tuple[Path, Path]] = []
|
||||
for entry in cfg["moves"]:
|
||||
all_pairs.extend(expand_entry(entry, root))
|
||||
|
||||
resolved: list[tuple[Path, Path]] = []
|
||||
seen_srcs: set[Path] = set()
|
||||
|
||||
for src, dst in all_pairs:
|
||||
if src in seen_srcs:
|
||||
rel = src.relative_to(root) if src.is_relative_to(root) else src
|
||||
print(f" WARNING: duplicate move for {rel}, skipping duplicate")
|
||||
continue
|
||||
seen_srcs.add(src)
|
||||
|
||||
if src.is_dir():
|
||||
rel_src = src.relative_to(root) if src.is_relative_to(root) else src
|
||||
rel_dst = dst.relative_to(root) if dst.is_relative_to(root) else dst
|
||||
resolved.append((src, dst))
|
||||
print(f" Planned (folder): {rel_src}/ → {rel_dst}/")
|
||||
continue
|
||||
|
||||
if not src.exists():
|
||||
print(f" WARNING: source not found, skipping: {src}")
|
||||
continue
|
||||
if dst.exists() and dst != src:
|
||||
print(f" WARNING: destination already exists, skipping: {dst}")
|
||||
continue
|
||||
|
||||
rel_src = src.relative_to(root) if src.is_relative_to(root) else src
|
||||
rel_dst = dst.relative_to(root) if dst.is_relative_to(root) else dst
|
||||
resolved.append((src, dst))
|
||||
print(f" Planned: {rel_src} → {rel_dst}")
|
||||
|
||||
if not resolved:
|
||||
print("Nothing to do.")
|
||||
return
|
||||
|
||||
# build old->new map for every file being moved, including files inside moved folders
|
||||
moved_map: dict[Path, Path] = {}
|
||||
for src, dst in resolved:
|
||||
if src.is_dir():
|
||||
for f in src.rglob("*"):
|
||||
if f.is_file():
|
||||
moved_map[f.resolve()] = (dst / f.relative_to(src)).resolve()
|
||||
else:
|
||||
moved_map[src] = dst
|
||||
|
||||
source_files = collect_source_files(root)
|
||||
extra_files: list[Path] = []
|
||||
for d in extra_dirs:
|
||||
if not d.is_relative_to(root):
|
||||
extra_files.extend(collect_source_files(d))
|
||||
all_files = source_files + extra_files
|
||||
|
||||
print(f"\nScanning {len(all_files)} source file(s)"
|
||||
f" ({len(extra_files)} outside project root)…\n")
|
||||
|
||||
total_changes = 0
|
||||
moved_set = set(moved_map.keys())
|
||||
|
||||
# rewrite includes inside files that are being moved
|
||||
for src, dst in resolved:
|
||||
if src.is_dir():
|
||||
for f in src.rglob("*"):
|
||||
if f.is_file() and f.suffix in SOURCE_EXTS:
|
||||
total_changes += rewrite_includes(
|
||||
f, f, dst / f.relative_to(src), moved_map, search_paths, root, dry_run
|
||||
)
|
||||
elif src.suffix in SOURCE_EXTS:
|
||||
total_changes += rewrite_includes(
|
||||
src, src, dst, moved_map, search_paths, root, dry_run
|
||||
)
|
||||
|
||||
# rewrite includes in files that stay put but reference something being moved
|
||||
for f in all_files:
|
||||
if f.resolve() not in moved_set:
|
||||
total_changes += rewrite_includes(
|
||||
f, None, None, moved_map, search_paths, root, dry_run
|
||||
)
|
||||
|
||||
cmake_files = collect_cmake_files(root)
|
||||
for d in extra_dirs:
|
||||
if not d.is_relative_to(root):
|
||||
cmake_files.extend(collect_cmake_files(d))
|
||||
print(f"\nScanning {len(cmake_files)} CMake file(s)…\n")
|
||||
|
||||
# build a lookup so we can pass old/new loc when a cmake file is itself moving
|
||||
cmake_move_map = {src: dst for src, dst in resolved if not src.is_dir()}
|
||||
|
||||
for f in cmake_files:
|
||||
old_loc = f if f in cmake_move_map else None
|
||||
new_loc = cmake_move_map[f] if old_loc else None
|
||||
total_changes += rewrite_cmake_paths(
|
||||
f, moved_map, search_paths, root, dry_run, old_loc, new_loc
|
||||
)
|
||||
|
||||
print(f"\n{'[DRY RUN] ' if dry_run else ''}Moving files…")
|
||||
for src, dst in resolved:
|
||||
rel_src = src.relative_to(root) if src.is_relative_to(root) else src
|
||||
rel_dst = dst.relative_to(root) if dst.is_relative_to(root) else dst
|
||||
if dry_run:
|
||||
print(f" [DRY RUN] {rel_src} → {rel_dst}")
|
||||
else:
|
||||
dst.parent.mkdir(parents=True, exist_ok=True)
|
||||
shutil.move(str(src), str(dst))
|
||||
print(f" {rel_src} → {rel_dst}")
|
||||
|
||||
print(f"\n{'[DRY RUN] ' if dry_run else ''}Done. "
|
||||
f"{len(resolved)} item(s) moved, {total_changes} path(s) updated.")
|
||||
|
||||
if dry_run:
|
||||
print("Re-run without --dry-run to apply changes.")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
script_dir = Path(__file__).parent
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Move C/C++ files/folders and update #include paths."
|
||||
)
|
||||
parser.add_argument(
|
||||
"--config",
|
||||
type=Path,
|
||||
default=script_dir / "move_config.json",
|
||||
help="Path to JSON config (default: move_config.json next to this script)",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--dry-run",
|
||||
action="store_true",
|
||||
help="Preview changes without touching the disk.",
|
||||
)
|
||||
args = parser.parse_args()
|
||||
main(args.config, args.dry_run)
|
||||
|
|
@ -1,323 +0,0 @@
|
|||
{
|
||||
"project_root": "/home/ella/CProjects/4jcraft/Minecraft.Client",
|
||||
|
||||
"include_search_paths": [
|
||||
"/home/ella/CProjects/4jcraft/Minecraft.Client/**"
|
||||
],
|
||||
"extra_scan_paths": [
|
||||
"/home/ella/CProjects/4jcraft/Minecraft.World/**"
|
||||
],
|
||||
|
||||
"moves": [
|
||||
{ "from": "Minecraft.Client.**", "to": "Build/" },
|
||||
{ "from": "CMakeLists.txt", "to": "Build/" },
|
||||
{ "from": "stdafx.*", "to": "Build/" },
|
||||
{ "from": "stubs.*", "to": "Build/" },
|
||||
{ "from": "Extrax64Stubs.cpp", "to": "Build/" },
|
||||
{ "from": "extraX64client.h", "to": "Build/" },
|
||||
{ "from": "ClassDiagram.cd", "to": "Build/" },
|
||||
{ "from": "Common/", "to": "Build/", "folder": "move" },
|
||||
{ "from": "redist64/", "to": "Build/", "folder": "move" },
|
||||
{ "from": "CMakeFiles/", "to": "Build/", "folder": "move" },
|
||||
|
||||
{ "from": "Durango/", "to": "Platform/", "folder": "move" },
|
||||
{ "from": "DurangoMedia/", "to": "Platform/", "folder": "move" },
|
||||
{ "from": "Xbox/", "to": "Platform/", "folder": "move" },
|
||||
{ "from": "Windows64/", "to": "Platform/", "folder": "move" },
|
||||
{ "from": "Windows64Media/", "to": "Platform/", "folder": "move" },
|
||||
{ "from": "Linux/", "to": "Platform/", "folder": "move" },
|
||||
{ "from": "PS3/", "to": "Platform/", "folder": "move" },
|
||||
{ "from": "PS3_GAME/", "to": "Platform/", "folder": "move" },
|
||||
{ "from": "PS3Media/", "to": "Platform/", "folder": "move" },
|
||||
{ "from": "PSVita/", "to": "Platform/", "folder": "move" },
|
||||
{ "from": "PSVitaMedia/", "to": "Platform/", "folder": "move" },
|
||||
{ "from": "Orbis/", "to": "Platform/", "folder": "move" },
|
||||
{ "from": "OrbisMedia/", "to": "Platform/", "folder": "move" },
|
||||
{ "from": "PS4_GAME/", "to": "Platform/", "folder": "move" },
|
||||
{ "from": "sce_sys/", "to": "Platform/", "folder": "move" },
|
||||
{ "from": "TROPDIR/", "to": "Platform/", "folder": "move" },
|
||||
|
||||
{ "from": "Settings.*", "to": "GameState/" },
|
||||
{ "from": "Options.*", "to": "GameState/" },
|
||||
{ "from": "GameMode.*", "to": "GameState/" },
|
||||
{ "from": "CreativeMode.*", "to": "GameState/" },
|
||||
{ "from": "SurvivalMode.*", "to": "GameState/" },
|
||||
{ "from": "DemoMode.*", "to": "GameState/" },
|
||||
{ "from": "DemoUser.*", "to": "GameState/" },
|
||||
{ "from": "StatsCounter.*", "to": "GameState/" },
|
||||
{ "from": "StatsSyncher.*", "to": "GameState/", "rename": "StatsSyncer.*" },
|
||||
|
||||
{ "from": "Timer.*", "to": "Utils/" },
|
||||
{ "from": "MemoryTracker.*", "to": "Utils/" },
|
||||
{ "from": "WstringLookup.*", "to": "Utils/" },
|
||||
{ "from": "ArchiveFile.*", "to": "Utils/" },
|
||||
{ "from": "StringTable.*", "to": "Utils/" },
|
||||
|
||||
{ "from": "Input.*", "to": "Input/" },
|
||||
{ "from": "KeyMapping.*", "to": "Input/" },
|
||||
{ "from": "ConsoleInput.*", "to": "Input/" },
|
||||
{ "from": "ConsoleInputSource.*", "to": "Input/" },
|
||||
|
||||
{ "from": "MultiPlayerChunkCache.*", "to": "Network/" },
|
||||
{ "from": "ServerChunkCache.*", "to": "Network/" },
|
||||
{ "from": "ServerConnection.*", "to": "Network/" },
|
||||
{ "from": "ClientConnection.*", "to": "Network/" },
|
||||
{ "from": "PlayerConnection.*", "to": "Network/" },
|
||||
{ "from": "PendingConnection.*", "to": "Network/" },
|
||||
{ "from": "PlayerChunkMap.*", "to": "Network/" },
|
||||
{ "from": "PlayerList.*", "to": "Network/" },
|
||||
{ "from": "PlayerInfo.*", "to": "Network/" },
|
||||
{ "from": "ServerInterface.*", "to": "Network/" },
|
||||
{ "from": "ServerCommandDispatcher.*", "to": "Network/" },
|
||||
|
||||
{ "from": "LocalPlayer.*", "to": "Player/" },
|
||||
{ "from": "RemotePlayer.*", "to": "Player/" },
|
||||
{ "from": "ServerPlayer.*", "to": "Player/" },
|
||||
{ "from": "MultiPlayerLocalPlayer.*", "to": "Player/" },
|
||||
{ "from": "User.*", "to": "Player/" },
|
||||
{ "from": "EntityTracker.*", "to": "Player/" },
|
||||
{ "from": "TrackedEntity.*", "to": "Player/" },
|
||||
{ "from": "MultiPlayerGameMode.*", "to": "Player/" },
|
||||
{ "from": "ServerPlayerGameMode.*", "to": "Player/" },
|
||||
|
||||
{ "from": "TeleportCommand.*", "to": "Commands/" },
|
||||
|
||||
{ "from": "ServerLevel.*", "to": "Level/" },
|
||||
{ "from": "DerivedServerLevel.*", "to": "Level/" },
|
||||
{ "from": "MultiPlayerLevel.*", "to": "Level/" },
|
||||
{ "from": "DemoLevel.*", "to": "Level/" },
|
||||
{ "from": "ServerLevelListener.*", "to": "Level/" },
|
||||
|
||||
{ "from": "Gui.*", "to": "UI/" },
|
||||
{ "from": "GuiComponent.*", "to": "UI/" },
|
||||
{ "from": "GuiMessage.*", "to": "UI/" },
|
||||
{ "from": "Screen.*", "to": "UI/" },
|
||||
{ "from": "Font.*", "to": "UI/" },
|
||||
{ "from": "Button.*", "to": "UI/" },
|
||||
{ "from": "SmallButton.*", "to": "UI/" },
|
||||
{ "from": "SlideButton.*", "to": "UI/" },
|
||||
{ "from": "EditBox.*", "to": "UI/" },
|
||||
{ "from": "SimpleIcon.*", "to": "UI/" },
|
||||
{ "from": "Rect2i.*", "to": "UI/" },
|
||||
{ "from": "ScrolledSelectionList.*", "to": "UI/" },
|
||||
{ "from": "ScreenSizeCalculator.*", "to": "UI/" },
|
||||
|
||||
{ "from": "AbstractContainerScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "AchievementPopup.*", "to": "UI/Screens/" },
|
||||
{ "from": "AchievementScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "ChatScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "InBedChatScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "ConfirmScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "ConnectScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "ContainerScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "ControlsScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "CraftingScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "CreateWorldScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "DeathScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "DisconnectedScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "ErrorScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "FurnaceScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "InventoryScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "JoinMultiplayerScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "NameEntryScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "OptionsScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "PauseScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "ReceivingLevelScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "RenameWorldScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "SelectWorldScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "StatsScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "TextEditScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "TitleScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "TrapScreen.*", "to": "UI/Screens/" },
|
||||
{ "from": "VideoSettingsScreen.*", "to": "UI/Screens/" },
|
||||
|
||||
{ "from": "Polygon.*", "to": "Rendering/" },
|
||||
{ "from": "Vertex.*", "to": "Rendering/" },
|
||||
{ "from": "Chunk.*", "to": "Rendering/" },
|
||||
{ "from": "LevelRenderer.*", "to": "Rendering/" },
|
||||
{ "from": "TexOffs.*", "to": "Rendering/" },
|
||||
{ "from": "Tesselator.*", "to": "Rendering/" },
|
||||
{ "from": "Camera.*", "to": "Rendering/" },
|
||||
{ "from": "FrustumCuller.*", "to": "Rendering/" },
|
||||
{ "from": "FrustumData.*", "to": "Rendering/" },
|
||||
{ "from": "Frustum.*", "to": "Rendering/" },
|
||||
{ "from": "Minimap.*", "to": "Rendering/" },
|
||||
{ "from": "GameRenderer.*", "to": "Rendering/" },
|
||||
{ "from": "Lighting.*", "to": "Rendering/" },
|
||||
{ "from": "Cube.*", "to": "Rendering/" },
|
||||
{ "from": "OffsettedRenderList.*", "to": "Rendering/" },
|
||||
{ "from": "glWrapper.*", "to": "Rendering/" },
|
||||
|
||||
{ "from": "DirtyChunkSorter.*", "to": "Rendering/Culling/" },
|
||||
{ "from": "DistanceChunkSorter.*", "to": "Rendering/Culling/" },
|
||||
{ "from": "ViewportCuller.*", "to": "Rendering/Culling/" },
|
||||
{ "from": "AllowAllCuller.*", "to": "Rendering/Culling/" },
|
||||
{ "from": "Culler.*", "to": "Rendering/Culling/" },
|
||||
|
||||
{ "from": "ZombieModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "SkeletonHeadModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "QuadrupedModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "BookModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "DragonModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "BoatModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "SpiderModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "EndermanModel.*", "to": "Rendering/Models/", "rename": "EnderManModel.*" },
|
||||
{ "from": "VillagerModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "LavaSlimeModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "BlazeModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "VillagerZombieModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "WolfModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "SilverfishModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "CowModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "SheepModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "VillagerGolemModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "ChickenModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "SquidModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "Model.*", "to": "Rendering/Models/" },
|
||||
{ "from": "GhastModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "SkinBox.*", "to": "Rendering/Models/" },
|
||||
{ "from": "OzelotModel.*", "to": "Rendering/Models/", "rename": "OcelotModel.*" },
|
||||
{ "from": "LargeChestModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "ChestModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "EnderCrystalModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "CreeperModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "SkeletonModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "SlimeModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "SnowManModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "SheepFurModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "HumanoidModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "SignModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "PigModel.*", "to": "Rendering/Models/" },
|
||||
{ "from": "ModelPart.*", "to": "Rendering/Models/" },
|
||||
{ "from": "MinecartModel.*", "to": "Rendering/Models/" },
|
||||
|
||||
{ "from": "SplashParticle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "SnowShovelParticle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "WaterDropParticle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "SpellParticle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "Particle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "CritParticle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "CritParticle2.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "FootstepParticle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "PlayerCloudParticle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "BubbleParticle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "NetherPortalParticle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "ExplodeParticle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "SuspendedParticle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "EnderParticle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "NoteParticle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "SuspendedTownParticle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "HeartParticle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "HugeExplosionSeedParticle.*","to": "Rendering/Particles/" },
|
||||
{ "from": "HugeExplosionParticle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "FlameParticle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "EchantmentTableParticle.*", "to": "Rendering/Particles/", "rename": "EnchantmentTableParticle.*" },
|
||||
{ "from": "ParticleEngine.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "DripParticle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "RedDustParticle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "TakeAnimationParticle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "LavaParticle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "GuiParticle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "GuiParticles.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "BreakingItemParticle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "DragonBreathParticle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "TerrainParticle.*", "to": "Rendering/Particles/" },
|
||||
{ "from": "SmokeParticle.*", "to": "Rendering/Particles/" },
|
||||
|
||||
{ "from": "BoatRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "MinecartRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "ItemSpriteRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "SkullTileRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "SpiderRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "TheEndPortalRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "EntityRenderDispatcher.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "ItemFrameRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "EntityRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "EnderDragonRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "EntityTileRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "PlayerRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "ItemRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "SilverfishRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "SignRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "MushroomCowRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "EnderChestRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "EndermanRenderer.*", "to": "Rendering/EntityRenderers/", "rename": "EnderManRenderer.*" },
|
||||
{ "from": "ProgressRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "PistonPieceRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "CreeperRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "VillagerGolemRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "EnderCrystalRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "ZombieRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "ChickenRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "ArrowRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "SheepRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "ExperienceOrbRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "TileEntityRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "LightningBoltRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "CowRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "TntRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "FallingTileRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "TileEntityRenderDispatcher.*","to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "SlimeRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "ChestRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "GhastRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "VillagerRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "PigRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "FishingHookRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "BlazeRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "TileRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "HumanoidMobRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "LavaSlimeRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "SquidRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "ItemInHandRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "EnchantTableRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "MobRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "WolfRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "DefaultRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "OzelotRenderer.*", "to": "Rendering/EntityRenderers/", "rename": "OcelotRenderer.*" },
|
||||
{ "from": "FireballRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "PaintingRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "SnowManRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "MobSpawnerRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
{ "from": "GiantMobRenderer.*", "to": "Rendering/EntityRenderers/" },
|
||||
|
||||
{ "from": "Textures.*", "to": "Textures/" },
|
||||
{ "from": "Texture.*", "to": "Textures/" },
|
||||
{ "from": "TextureManager.*", "to": "Textures/" },
|
||||
{ "from": "TextureHolder.*", "to": "Textures/" },
|
||||
{ "from": "BufferedImage.*", "to": "Textures/" },
|
||||
{ "from": "CompassTexture.*", "to": "Textures/" },
|
||||
{ "from": "ClockTexture.*", "to": "Textures/" },
|
||||
{ "from": "HttpTexture.*", "to": "Textures/" },
|
||||
{ "from": "MemTexture.*", "to": "Textures/" },
|
||||
{ "from": "MemTextureProcessor.*", "to": "Textures/" },
|
||||
{ "from": "HttpTextureProcessor.*", "to": "Textures/" },
|
||||
{ "from": "MobSkinTextureProcessor.*", "to": "Textures/" },
|
||||
{ "from": "MobSkinMemTextureProcessor.*","to": "Textures/" },
|
||||
|
||||
{ "from": "PreStitchedTextureMap.*", "to": "Textures/Stitching/" },
|
||||
{ "from": "Stitcher.*", "to": "Textures/Stitching/" },
|
||||
{ "from": "StitchedTexture.*", "to": "Textures/Stitching/" },
|
||||
{ "from": "TextureMap.*", "to": "Textures/Stitching/" },
|
||||
{ "from": "StitchSlot.*", "to": "Textures/Stitching/" },
|
||||
|
||||
{ "from": "TexturePackRepository.*", "to": "Textures/Packs/" },
|
||||
{ "from": "FolderTexturePack.*", "to": "Textures/Packs/" },
|
||||
{ "from": "DefaultTexturePack.*", "to": "Textures/Packs/" },
|
||||
{ "from": "TexturePack.*", "to": "Textures/Packs/" },
|
||||
{ "from": "FileTexturePack.*", "to": "Textures/Packs/" },
|
||||
{ "from": "DLCTexturePack.*", "to": "Textures/Packs/" },
|
||||
{ "from": "AbstractTexturePack.*", "to": "Textures/Packs/" },
|
||||
|
||||
{"from": "*.msscmp", "to": "Audio/"},
|
||||
{"from": "music", "to": "Audio/", "folder": "move", "rename": "Music/"},
|
||||
|
||||
{"from": "Minecraft.*", "to": "/"},
|
||||
{"from": "MinecraftServer.*", "to": "/"},
|
||||
{"from": "ClientConstants.*", "to": "/"},
|
||||
{"from": "Network Implementation Notes.txt", "to": "/"},
|
||||
{"from": "ReadMe.txt", "to": "/"},
|
||||
|
||||
{"from": "*.png", "to": "Assets/"}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,509 +0,0 @@
|
|||
{
|
||||
"project_root": "/home/ella/CProjects/4jcraft/Minecraft.World",
|
||||
|
||||
"include_search_paths": [
|
||||
"/home/ella/CProjects/4jcraft/Minecraft.World/**"
|
||||
],
|
||||
"extra_scan_paths": [
|
||||
"/home/ella/CProjects/4jcraft/Minecraft.Client/**"
|
||||
],
|
||||
|
||||
"moves": [
|
||||
{ "from": "BodyControl.*", "to": "AI/Control/" },
|
||||
{ "from": "Control.*", "to": "AI/Control/" },
|
||||
{ "from": "JumpControl.*", "to": "AI/Control/" },
|
||||
{ "from": "LookControl.*", "to": "AI/Control/" },
|
||||
{ "from": "MoveControl.*", "to": "AI/Control/" },
|
||||
{ "from": "Sensing.*", "to": "AI/Control/" },
|
||||
|
||||
{ "from": "GoalSelector.*", "to": "AI/Goals/" },
|
||||
{ "from": "OzelotAttackGoal.*", "to": "AI/Goals/", "rename": "OcelotAttackGoal.*" },
|
||||
{ "from": "*Goal.*", "to": "AI/Goals/" },
|
||||
|
||||
{ "from": "Node.*", "to": "AI/Navigation/" },
|
||||
{ "from": "Path.*", "to": "AI/Navigation/" },
|
||||
{ "from": "PathFinder.*", "to": "AI/Navigation/" },
|
||||
{ "from": "PathNavigation.*", "to": "AI/Navigation/" },
|
||||
{ "from": "RandomPos.*", "to": "AI/Navigation/" },
|
||||
|
||||
{ "from": "*TileEntity.*", "to": "Blocks/TileEntities/" },
|
||||
{ "from": "EnchantmentTableEntity.*", "to": "Blocks/TileEntities/", "rename": "EnchantmentTableTileEntity.*" },
|
||||
{ "from": "EntityTile.*", "to": "Blocks/TileEntities/" },
|
||||
{ "from": "PistonPieceEntity.*", "to": "Blocks/TileEntities/", "rename": "PistonPieceTileEntity.*" },
|
||||
{ "from": "PotionBrewing.*", "to": "Blocks/TileEntities/" },
|
||||
|
||||
{ "from": "Bush.*", "to": "Blocks/", "rename": "PlantTile.*" },
|
||||
{ "from": "DecorationMaterial.*", "to": "Blocks/" },
|
||||
{ "from": "GasMaterial.*", "to": "Blocks/" },
|
||||
{ "from": "LiquidMaterial.*", "to": "Blocks/" },
|
||||
{ "from": "LiquidTileDynamic.*", "to": "Blocks/" },
|
||||
{ "from": "LiquidTileStatic.*", "to": "Blocks/" },
|
||||
{ "from": "Material.*", "to": "Blocks/" },
|
||||
{ "from": "MaterialColor.*", "to": "Blocks/" },
|
||||
{ "from": "MobSpawner.*", "to": "Blocks/" },
|
||||
{ "from": "Mushroom.*", "to": "Blocks/", "rename": "MushroomPlantTile.*" },
|
||||
{ "from": "PistonMovingPiece.*", "to": "Blocks/", "rename": "PistonMovingTileEntity.*" },
|
||||
{ "from": "PortalMaterial.*", "to": "Blocks/" },
|
||||
{ "from": "RedlightTile.*", "to": "Blocks/", "rename": "RedLightTile.*" },
|
||||
{ "from": "Sapling.*", "to": "Blocks/", "rename": "SaplingPlantTile.*" },
|
||||
{ "from": "Sponge.*", "to": "Blocks/", "rename": "SpongeTile.*" },
|
||||
{ "from": "TallGrass.*", "to": "Blocks/", "rename": "TallGrassPlantTile.*" },
|
||||
{ "from": "TheEndPortal.*", "to": "Blocks/", "rename": "TheEndPortalTile.*" },
|
||||
{ "from": "WebMaterial.*", "to": "Blocks/" },
|
||||
{ "from": "*Tile.*", "to": "Blocks/" },
|
||||
|
||||
{ "from": "x64headers/", "to": "Build/", "folder": "move" },
|
||||
{ "from": "Minecraft.World.**", "to": "Build/" },
|
||||
{ "from": "System.h", "to": "Build/" },
|
||||
{ "from": "system.cpp", "to": "Build/", "rename": "System.cpp" },
|
||||
{ "from": "CMakeLists.txt", "to": "Build/" },
|
||||
{ "from": "stdafx.*", "to": "Build/" },
|
||||
|
||||
{ "from": "AdminLogCommand.*", "to": "Commands/" },
|
||||
{ "from": "Command.*", "to": "Commands/" },
|
||||
{ "from": "CommandDispatcher.*", "to": "Commands/" },
|
||||
{ "from": "CommandSender.*", "to": "Commands/" },
|
||||
{ "from": "CommandsEnum.*", "to": "Commands/" },
|
||||
{ "from": "DefaultGameModeCommand.*", "to": "Commands/" },
|
||||
{ "from": "EnchantItemCommand.*", "to": "Commands/" },
|
||||
{ "from": "ExperienceCommand.*", "to": "Commands/" },
|
||||
{ "from": "GameModeCommand.*", "to": "Commands/" },
|
||||
{ "from": "GiveItemCommand.*", "to": "Commands/" },
|
||||
{ "from": "KillCommand.*", "to": "Commands/" },
|
||||
{ "from": "TimeCommand.*", "to": "Commands/" },
|
||||
{ "from": "ToggleDownfallCommand.*", "to": "Commands/" },
|
||||
|
||||
{ "from": "AbstractContainerMenu.*", "to": "Containers/" },
|
||||
{ "from": "ArmorSlot.*", "to": "Containers/" },
|
||||
{ "from": "BrewingStandMenu.*", "to": "Containers/" },
|
||||
{ "from": "ClientSideMerchant.*", "to": "Containers/" },
|
||||
{ "from": "CompoundContainer.*", "to": "Containers/" },
|
||||
{ "from": "Container.*", "to": "Containers/" },
|
||||
{ "from": "ContainerMenu.*", "to": "Containers/" },
|
||||
{ "from": "CraftingContainer.*", "to": "Containers/" },
|
||||
{ "from": "CraftingMenu.*", "to": "Containers/" },
|
||||
{ "from": "EnchantmentContainer.*", "to": "Containers/" },
|
||||
{ "from": "EnchantmentMenu.*", "to": "Containers/" },
|
||||
{ "from": "EnchantmentSlot.*", "to": "Containers/" },
|
||||
{ "from": "FurnaceMenu.*", "to": "Containers/" },
|
||||
{ "from": "FurnaceResultSlot.*", "to": "Containers/" },
|
||||
{ "from": "Inventory.*", "to": "Containers/" },
|
||||
{ "from": "InventoryMenu.*", "to": "Containers/" },
|
||||
{ "from": "MenuBackup.*", "to": "Containers/" },
|
||||
{ "from": "Merchant.*", "to": "Containers/" },
|
||||
{ "from": "MerchantContainer.*", "to": "Containers/" },
|
||||
{ "from": "MerchantMenu.*", "to": "Containers/" },
|
||||
{ "from": "MerchantRecipe.*", "to": "Containers/" },
|
||||
{ "from": "MerchantRecipeList.*", "to": "Containers/" },
|
||||
{ "from": "MerchantRecipeSlot.*", "to": "Containers/" },
|
||||
{ "from": "MerchantResultSlot.*", "to": "Containers/" },
|
||||
{ "from": "MouseInventoryClickHandler.*","to": "Containers/" },
|
||||
{ "from": "RepairContainer.*", "to": "Containers/" },
|
||||
{ "from": "RepairMenu.*", "to": "Containers/" },
|
||||
{ "from": "RepairResultSlot.*", "to": "Containers/" },
|
||||
{ "from": "ResultContainer.*", "to": "Containers/" },
|
||||
{ "from": "ResultSlot.*", "to": "Containers/" },
|
||||
{ "from": "SimpleContainer.*", "to": "Containers/" },
|
||||
{ "from": "Slot.*", "to": "Containers/" },
|
||||
{ "from": "TrapMenu.*", "to": "Containers/" },
|
||||
|
||||
{ "from": "*Enchantment.*", "to": "Enchantments/" },
|
||||
{ "from": "EnchantmentCategory.*", "to": "Enchantments/" },
|
||||
{ "from": "*EnchantmentHelper.*", "to": "Enchantments/" },
|
||||
{ "from": "EnchantmentInstance.*", "to": "Enchantments/" },
|
||||
|
||||
{ "from": "BossMobPart.*", "to": "Entities/" },
|
||||
{ "from": "DoorInfo.*", "to": "Entities/" },
|
||||
{ "from": "Enemy.*", "to": "Entities/" },
|
||||
{ "from": "Entity.*", "to": "Entities/" },
|
||||
{ "from": "EntityDamageSource.*", "to": "Entities/" },
|
||||
{ "from": "EntityEvent.*", "to": "Entities/" },
|
||||
{ "from": "EntityPos.*", "to": "Entities/" },
|
||||
{ "from": "EntitySelector.*", "to": "Entities/" },
|
||||
{ "from": "FlyingMob.*", "to": "Entities/" },
|
||||
{ "from": "GlobalEntity.*", "to": "Entities/" },
|
||||
{ "from": "HangingEntity.*", "to": "Entities/" },
|
||||
{ "from": "IndirectEntityDamageSource.*","to": "Entities/" },
|
||||
{ "from": "InstantenousMobEffect.*", "to": "Entities/", "rename": "InstantaneousMobEffect.*" },
|
||||
{ "from": "ItemEntity.*", "to": "Entities/" },
|
||||
{ "from": "Mob.*", "to": "Entities/" },
|
||||
{ "from": "MobCategory.*", "to": "Entities/" },
|
||||
{ "from": "MobEffect.*", "to": "Entities/" },
|
||||
{ "from": "MobEffectInstance.*", "to": "Entities/" },
|
||||
{ "from": "MobType.*", "to": "Entities/" },
|
||||
{ "from": "Monster.*", "to": "Entities/" },
|
||||
{ "from": "PathfinderMob.*", "to": "Entities/" },
|
||||
{ "from": "SynchedEntityData.*", "to": "Entities/", "rename": "SyncedEntityData.*" },
|
||||
{ "from": "TamableAnimal.*", "to": "Entities/" },
|
||||
{ "from": "Throwable.*", "to": "Entities/" },
|
||||
{ "from": "WaterAnimal.*", "to": "Entities/" },
|
||||
|
||||
{ "from": "AgableMob.*", "to": "Entities/Mobs/", "rename": "AgeableMob.*" },
|
||||
{ "from": "Animal.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "Arrow.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "Blaze.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "Boat.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "BossMob.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "CaveSpider.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "Chicken.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "Cow.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "Creature.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "Creeper.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "DragonFireball.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "EnderCrystal.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "EnderDragon.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "EnderMan.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "ExperienceOrb.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "EyeOfEnderSignal.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "Fireball.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "FishingHook.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "Ghast.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "Giant.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "Golem.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "ItemFrame.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "LavaSlime.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "LightningBolt.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "Minecart.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "MushroomCow.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "Npc.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "Ozelot.*", "to": "Entities/Mobs/", "rename": "Ocelot.*" },
|
||||
{ "from": "Painting.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "Pig.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "PigZombie.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "PrimedTnt.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "Sheep.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "Silverfish.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "Skeleton.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "Slime.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "SmallFireball.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "Snowball.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "SnowMan.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "Spider.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "Squid.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "ThrownEgg.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "ThrownEnderpearl.*", "to": "Entities/Mobs/", "rename": "ThrownEnderPearl.*" },
|
||||
{ "from": "ThrownExpBottle.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "ThrownPotion.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "Villager.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "VillagerGolem.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "Wolf.*", "to": "Entities/Mobs/" },
|
||||
{ "from": "Zombie.*", "to": "Entities/Mobs/" },
|
||||
|
||||
{ "from": "net.minecraft.**", "to": "Headers/" },
|
||||
{ "from": "com.mojang.**", "to": "Headers/" },
|
||||
|
||||
{ "from": "ConsoleSaveFile.*", "to": "IO/Files/" },
|
||||
{ "from": "ConsoleSaveFileConverter.*", "to": "IO/Files/" },
|
||||
{ "from": "ConsoleSaveFileInputStream.*","to": "IO/Files/" },
|
||||
{ "from": "ConsoleSaveFileIO.*", "to": "IO/Files/" },
|
||||
{ "from": "ConsoleSaveFileOriginal.*", "to": "IO/Files/" },
|
||||
{ "from": "ConsoleSaveFileOutputStream.*","to": "IO/Files/" },
|
||||
{ "from": "ConsoleSaveFileSplit.*", "to": "IO/Files/" },
|
||||
{ "from": "ConsoleSavePath.*", "to": "IO/Files/" },
|
||||
{ "from": "File.*", "to": "IO/Files/" },
|
||||
{ "from": "FileFilter.*", "to": "IO/Files/" },
|
||||
{ "from": "FileHeader.*", "to": "IO/Files/" },
|
||||
{ "from": "FileInputStream.*", "to": "IO/Files/" },
|
||||
{ "from": "FilenameFilter.*", "to": "IO/Files/" },
|
||||
{ "from": "FileOutputStream.*", "to": "IO/Files/" },
|
||||
|
||||
{ "from": "ByteArrayTag.*", "to": "IO/NBT/" },
|
||||
{ "from": "ByteTag.*", "to": "IO/NBT/" },
|
||||
{ "from": "CompoundTag.*", "to": "IO/NBT/" },
|
||||
{ "from": "DoubleTag.*", "to": "IO/NBT/" },
|
||||
{ "from": "EndTag.*", "to": "IO/NBT/" },
|
||||
{ "from": "FloatTag.*", "to": "IO/NBT/" },
|
||||
{ "from": "IntArrayTag.*", "to": "IO/NBT/" },
|
||||
{ "from": "IntTag.*", "to": "IO/NBT/" },
|
||||
{ "from": "ListTag.*", "to": "IO/NBT/" },
|
||||
{ "from": "LongTag.*", "to": "IO/NBT/" },
|
||||
{ "from": "NbtIo.*", "to": "IO/NBT/", "rename": "NbtIO.*" },
|
||||
{ "from": "NbtSlotFile.*", "to": "IO/NBT/" },
|
||||
{ "from": "ShortTag.*", "to": "IO/NBT/" },
|
||||
{ "from": "StringTag.*", "to": "IO/NBT/" },
|
||||
{ "from": "Tag.*", "to": "IO/NBT/" },
|
||||
|
||||
{ "from": "Buffer.*", "to": "IO/Streams/" },
|
||||
{ "from": "BufferedOutputStream.*", "to": "IO/Streams/" },
|
||||
{ "from": "BufferedReader.*", "to": "IO/Streams/" },
|
||||
{ "from": "ByteArrayInputStream.*", "to": "IO/Streams/" },
|
||||
{ "from": "ByteArrayOutputStream.*", "to": "IO/Streams/" },
|
||||
{ "from": "ByteBuffer.*", "to": "IO/Streams/" },
|
||||
{ "from": "compression.*", "to": "IO/Streams/", "rename": "Compression.*" },
|
||||
{ "from": "DataInput.*", "to": "IO/Streams/" },
|
||||
{ "from": "DataInputStream.*", "to": "IO/Streams/" },
|
||||
{ "from": "DataOutput.*", "to": "IO/Streams/" },
|
||||
{ "from": "DataOutputStream.*", "to": "IO/Streams/" },
|
||||
{ "from": "FloatBuffer.*", "to": "IO/Streams/" },
|
||||
{ "from": "GZIPInputStream.*", "to": "IO/Streams/" },
|
||||
{ "from": "GZIPOutputStream.*", "to": "IO/Streams/" },
|
||||
{ "from": "InputOutputStream.*", "to": "IO/Streams/" },
|
||||
{ "from": "InputStream.*", "to": "IO/Streams/" },
|
||||
{ "from": "InputStreamReader.*", "to": "IO/Streams/" },
|
||||
{ "from": "IntBuffer.*", "to": "IO/Streams/" },
|
||||
{ "from": "OutputStream.*", "to": "IO/Streams/" },
|
||||
{ "from": "Reader.*", "to": "IO/Streams/" },
|
||||
|
||||
{ "from": "ArmorItem.*", "to": "Items/" },
|
||||
{ "from": "BedItem.*", "to": "Items/" },
|
||||
{ "from": "BoatItem.*", "to": "Items/" },
|
||||
{ "from": "BookItem.*", "to": "Items/" },
|
||||
{ "from": "BottleItem.*", "to": "Items/" },
|
||||
{ "from": "BowItem.*", "to": "Items/" },
|
||||
{ "from": "BowlFoodItem.*", "to": "Items/" },
|
||||
{ "from": "BucketItem.*", "to": "Items/" },
|
||||
{ "from": "CarrotOnAStickItem.*", "to": "Items/" },
|
||||
{ "from": "ClockItem.*", "to": "Items/" },
|
||||
{ "from": "CoalItem.*", "to": "Items/" },
|
||||
{ "from": "CompassItem.*", "to": "Items/" },
|
||||
{ "from": "ComplexItem.*", "to": "Items/" },
|
||||
{ "from": "DiggerItem.*", "to": "Items/" },
|
||||
{ "from": "DoorItem.*", "to": "Items/" },
|
||||
{ "from": "DyePowderItem.*", "to": "Items/" },
|
||||
{ "from": "EggItem.*", "to": "Items/" },
|
||||
{ "from": "EnchantedBookItem.*", "to": "Items/" },
|
||||
{ "from": "EnderEyeItem.*", "to": "Items/" },
|
||||
{ "from": "EnderpearlItem.*", "to": "Items/", "rename": "EnderPearlItem.*" },
|
||||
{ "from": "ExperienceItem.*", "to": "Items/" },
|
||||
{ "from": "FireChargeItem.*", "to": "Items/" },
|
||||
{ "from": "FishingRodItem.*", "to": "Items/" },
|
||||
{ "from": "FlintAndSteelItem.*", "to": "Items/" },
|
||||
{ "from": "FoodItem.*", "to": "Items/" },
|
||||
{ "from": "GoldenAppleItem.*", "to": "Items/" },
|
||||
{ "from": "HangingEntityItem.*", "to": "Items/" },
|
||||
{ "from": "HatchetItem.*", "to": "Items/" },
|
||||
{ "from": "HoeItem.*", "to": "Items/" },
|
||||
{ "from": "Item.*", "to": "Items/" },
|
||||
{ "from": "ItemInstance.*", "to": "Items/" },
|
||||
{ "from": "MapItem.*", "to": "Items/" },
|
||||
{ "from": "MilkBucketItem.*", "to": "Items/" },
|
||||
{ "from": "MinecartItem.*", "to": "Items/" },
|
||||
{ "from": "MonsterPlacerItem.*", "to": "Items/" },
|
||||
{ "from": "PickaxeItem.*", "to": "Items/" },
|
||||
{ "from": "PotionItem.*", "to": "Items/" },
|
||||
{ "from": "RecordingItem.*", "to": "Items/" },
|
||||
{ "from": "RedStoneItem.*", "to": "Items/", "rename": "RedstoneItem.*" },
|
||||
{ "from": "SaddleItem.*", "to": "Items/" },
|
||||
{ "from": "SeedFoodItem.*", "to": "Items/" },
|
||||
{ "from": "SeedItem.*", "to": "Items/" },
|
||||
{ "from": "ShearsItem.*", "to": "Items/" },
|
||||
{ "from": "ShovelItem.*", "to": "Items/" },
|
||||
{ "from": "SignItem.*", "to": "Items/" },
|
||||
{ "from": "SnowballItem.*", "to": "Items/" },
|
||||
{ "from": "WeaponItem.*", "to": "Items/" },
|
||||
|
||||
{ "from": "AnvilTileItem.*", "to": "Items/TileItems/" },
|
||||
{ "from": "AuxDataTileItem.*", "to": "Items/TileItems/" },
|
||||
{ "from": "ClothTileItem.*", "to": "Items/TileItems/" },
|
||||
{ "from": "ColoredTileItem.*", "to": "Items/TileItems/" },
|
||||
{ "from": "LeafTileItem.*", "to": "Items/TileItems/" },
|
||||
{ "from": "MultiTextureTileItem.*", "to": "Items/TileItems/" },
|
||||
{ "from": "PistonTileItem.*", "to": "Items/TileItems/" },
|
||||
{ "from": "SaplingTileItem.*", "to": "Items/TileItems/" },
|
||||
{ "from": "SkullItem.*", "to": "Items/TileItems/" },
|
||||
{ "from": "SmoothStoneBrickTileItem.*","to": "Items/TileItems/" },
|
||||
{ "from": "StoneMonsterTileItem.*", "to": "Items/TileItems/" },
|
||||
{ "from": "StoneSlabTileItem.*", "to": "Items/TileItems/" },
|
||||
{ "from": "TileItem.*", "to": "Items/TileItems/" },
|
||||
{ "from": "TilePlanterItem.*", "to": "Items/TileItems/", "rename": "PlanterTileItem.*" },
|
||||
{ "from": "TreeTileItem.*", "to": "Items/TileItems/" },
|
||||
{ "from": "WaterLilyTileItem.*", "to": "Items/TileItems/" },
|
||||
|
||||
{ "from": "BlockDestructionProgress.*","to": "Level/" },
|
||||
{ "from": "BlockGenMethods.*", "to": "Level/" },
|
||||
{ "from": "BlockReplacements.*", "to": "Level/" },
|
||||
{ "from": "ChunkPos.*", "to": "Level/" },
|
||||
{ "from": "ChunkSource.*", "to": "Level/" },
|
||||
{ "from": "CustomLevelSource.*", "to": "Level/" },
|
||||
{ "from": "DerivedLevelData.*", "to": "Level/" },
|
||||
{ "from": "EmptyLevelChunk.*", "to": "Level/" },
|
||||
{ "from": "Explosion.*", "to": "Level/" },
|
||||
{ "from": "Level.*", "to": "Level/" },
|
||||
{ "from": "LevelChunk.*", "to": "Level/" },
|
||||
{ "from": "LevelConflictException.*", "to": "Level/" },
|
||||
{ "from": "LevelData.*", "to": "Level/" },
|
||||
{ "from": "RandomLevelSource.*", "to": "Level/" },
|
||||
{ "from": "TickNextTickData.*", "to": "Level/" },
|
||||
{ "from": "TileEventData.*", "to": "Level/" },
|
||||
{ "from": "TilePos.*", "to": "Level/" },
|
||||
{ "from": "WaterLevelChunk.*", "to": "Level/" },
|
||||
|
||||
{ "from": "Dimension.*", "to": "Level/Dimensions" },
|
||||
{ "from": "HellDimension.*", "to": "Level/Dimensions/" },
|
||||
{ "from": "NormalDimension.*", "to": "Level/Dimensions/" },
|
||||
{ "from": "SkyIslandDimension.*", "to": "Level/Dimensions/" },
|
||||
{ "from": "TheEndDimension.*", "to": "Level/Dimensions/" },
|
||||
|
||||
{ "from": "LevelEvent.*", "to": "Level/Events/" },
|
||||
{ "from": "LevelListener.*", "to": "Level/Events/" },
|
||||
{ "from": "LevelObjectInputStream.*", "to": "Level/Events/" },
|
||||
{ "from": "VillageSiege.*", "to": "Level/Events/" },
|
||||
|
||||
{ "from": "ChunkStorage.*", "to": "Level/Storage/" },
|
||||
{ "from": "ChunkStorageProfileDecorator.*","to": "Level/Storage/" },
|
||||
{ "from": "CompressedTileStorage.*", "to": "Level/Storage/" },
|
||||
{ "from": "DataLayer.*", "to": "Level/Storage/" },
|
||||
{ "from": "DirectoryLevelStorage.*", "to": "Level/Storage/" },
|
||||
{ "from": "DirectoryLevelStorageSource.*","to": "Level/Storage/" },
|
||||
{ "from": "EntityIO.*", "to": "Level/Storage/" },
|
||||
{ "from": "LevelSettings.*", "to": "Level/Storage/" },
|
||||
{ "from": "LevelSource.*", "to": "Level/Storage/" },
|
||||
{ "from": "LevelStorage.*", "to": "Level/Storage/" },
|
||||
{ "from": "LevelStorageProfilerDecorator.*","to": "Level/Storage/" },
|
||||
{ "from": "LevelStorageSource.*", "to": "Level/Storage/" },
|
||||
{ "from": "LevelSummary.*", "to": "Level/Storage/" },
|
||||
{ "from": "LevelType.*", "to": "Level/Storage/" },
|
||||
{ "from": "MapItemSavedData.*", "to": "Level/Storage/" },
|
||||
{ "from": "McRegionChunkStorage.*", "to": "Level/Storage/" },
|
||||
{ "from": "McRegionLevelStorage.*", "to": "Level/Storage/" },
|
||||
{ "from": "McRegionLevelStorageSource.*","to": "Level/Storage/" },
|
||||
{ "from": "MemoryChunkStorage.*", "to": "Level/Storage/" },
|
||||
{ "from": "MemoryLevelStorage.*", "to": "Level/Storage/" },
|
||||
{ "from": "MemoryLevelStorageSource.*","to": "Level/Storage/" },
|
||||
{ "from": "MockedLevelStorage.*", "to": "Level/Storage/" },
|
||||
{ "from": "OldChunkStorage.*", "to": "Level/Storage/" },
|
||||
{ "from": "PlayerIO.*", "to": "Level/Storage/" },
|
||||
{ "from": "PortalForcer.*", "to": "Level/Storage/" },
|
||||
{ "from": "ReadOnlyChunkCache.*", "to": "Level/Storage/" },
|
||||
{ "from": "Region.*", "to": "Level/Storage/" },
|
||||
{ "from": "RegionFile.*", "to": "Level/Storage/" },
|
||||
{ "from": "RegionFileCache.*", "to": "Level/Storage/" },
|
||||
{ "from": "SavedData.*", "to": "Level/Storage/" },
|
||||
{ "from": "SavedDataStorage.*", "to": "Level/Storage/" },
|
||||
{ "from": "SparseDataStorage.*", "to": "Level/Storage/" },
|
||||
{ "from": "SparseLightStorage.*", "to": "Level/Storage/" },
|
||||
{ "from": "ZonedChunkStorage.*", "to": "Level/Storage/" },
|
||||
{ "from": "ZoneFile.*", "to": "Level/Storage/" },
|
||||
{ "from": "ZoneIo.*", "to": "Level/Storage/", "rename": "ZoneIO.*" },
|
||||
|
||||
{ "from": "Connection.*", "to": "Network/" },
|
||||
{ "from": "Socket.*", "to": "Network/" },
|
||||
{ "from": "SocketAddress.*", "to": "Network/" },
|
||||
|
||||
{ "from": "*Packet.*", "to": "Network/Packets/" },
|
||||
{ "from": "MoveEntityPacketSmall.*", "to": "Network/Packets/" },
|
||||
{ "from": "PacketListener.*", "to": "Network/Packets/" },
|
||||
|
||||
{ "from": "Abilities.*", "to": "Player/" },
|
||||
{ "from": "FoodData.*", "to": "Player/" },
|
||||
{ "from": "Player.*", "to": "Player/" },
|
||||
{ "from": "PlayerEnderChestContainer.*","to": "Player/" },
|
||||
|
||||
{ "from": "ArmorDyeRecipe.*", "to": "Recipes/" },
|
||||
{ "from": "ArmorRecipes.*", "to": "Recipes/" },
|
||||
{ "from": "ClothDyeRecipes.*", "to": "Recipes/" },
|
||||
{ "from": "FoodRecipies.*", "to": "Recipes/", "rename": "FoodRecipes.*" },
|
||||
{ "from": "FurnaceRecipes.*", "to": "Recipes/" },
|
||||
{ "from": "OreRecipies.*", "to": "Recipes/", "rename": "OreRecipes.*" },
|
||||
{ "from": "Recipes.*", "to": "Recipes/" },
|
||||
{ "from": "Recipy.*", "to": "Recipes/" },
|
||||
{ "from": "ShapedRecipy.*", "to": "Recipes/" },
|
||||
{ "from": "ShapelessRecipy.*", "to": "Recipes/" },
|
||||
{ "from": "StructureRecipies.*", "to": "Recipes/", "rename": "StructureRecipes.*" },
|
||||
{ "from": "ToolRecipies.*", "to": "Recipes/", "rename": "ToolRecipes.*" },
|
||||
{ "from": "WeaponRecipies.*", "to": "Recipes/", "rename": "WeaponRecipes.*" },
|
||||
|
||||
{ "from": "Achievement.*", "to": "Stats/" },
|
||||
{ "from": "Achievements.*", "to": "Stats/" },
|
||||
{ "from": "CommonStat.*", "to": "Stats/" },
|
||||
{ "from": "CommonStats.*", "to": "Stats/" },
|
||||
{ "from": "DurangoStats.*", "to": "Stats/" },
|
||||
{ "from": "GeneralStat.*", "to": "Stats/" },
|
||||
{ "from": "GenericStats.*", "to": "Stats/" },
|
||||
{ "from": "ItemStat.*", "to": "Stats/" },
|
||||
{ "from": "Stat.*", "to": "Stats/" },
|
||||
{ "from": "StatFormatter.*", "to": "Stats/" },
|
||||
{ "from": "Stats.*", "to": "Stats/" },
|
||||
|
||||
{ "from": "AABB.*", "to": "Util/" },
|
||||
{ "from": "Arrays.*", "to": "Util/" },
|
||||
{ "from": "ArrayWithLength.*", "to": "Util/" },
|
||||
{ "from": "BasicTypeContainers.*", "to": "Util/" },
|
||||
{ "from": "BinaryHeap.*", "to": "Util/" },
|
||||
{ "from": "BoundingBox.*", "to": "Util/" },
|
||||
{ "from": "C4JThread.*", "to": "Util/" },
|
||||
{ "from": "Class.*", "to": "Util/" },
|
||||
{ "from": "Color.*", "to": "Util/" },
|
||||
{ "from": "Coord.*", "to": "Util/" },
|
||||
{ "from": "DamageSource.*", "to": "Util/" },
|
||||
{ "from": "Definitions.*", "to": "Util/" },
|
||||
{ "from": "DelayedRelease.*", "to": "Util/" },
|
||||
{ "from": "DescFormatter.*", "to": "Util/" },
|
||||
{ "from": "Difficulty.*", "to": "Util/" },
|
||||
{ "from": "Direction.*", "to": "Util/" },
|
||||
{ "from": "Distort.*", "to": "Util/" },
|
||||
{ "from": "Emboss.*", "to": "Util/" },
|
||||
{ "from": "Exceptions.*", "to": "Util/" },
|
||||
{ "from": "Facing.*", "to": "Util/" },
|
||||
{ "from": "FlippedIcon.*", "to": "Util/" },
|
||||
{ "from": "FoliageColor.*", "to": "Util/" },
|
||||
{ "from": "FoodConstants.*", "to": "Util/" },
|
||||
{ "from": "GrassColor.*", "to": "Util/" },
|
||||
{ "from": "HashExtension.*", "to": "Util/" },
|
||||
{ "from": "Hasher.*", "to": "Util/" },
|
||||
{ "from": "HitResult.*", "to": "Util/" },
|
||||
{ "from": "I18n.*", "to": "Util/" },
|
||||
{ "from": "Icon.*", "to": "Util/" },
|
||||
{ "from": "IconRegister.*", "to": "Util/" },
|
||||
{ "from": "IntCache.*", "to": "Util/" },
|
||||
{ "from": "JavaIntHash.*", "to": "Util/" },
|
||||
{ "from": "JavaMath.*", "to": "Util/" },
|
||||
{ "from": "Language.*", "to": "Util/" },
|
||||
{ "from": "LightLayer.*", "to": "Util/" },
|
||||
{ "from": "Mth.*", "to": "Util/" },
|
||||
{ "from": "NumberFormaters.*", "to": "Util/", "rename": "NumberFormatters" },
|
||||
{ "from": "ParticleTypes.*", "to": "Util/" },
|
||||
{ "from": "PerformanceTimer.*", "to": "Util/" },
|
||||
{ "from": "Pos.*", "to": "Util/" },
|
||||
{ "from": "ProgressListener.*", "to": "Util/" },
|
||||
{ "from": "Random.*", "to": "Util/" },
|
||||
{ "from": "Rarity.*", "to": "Util/" },
|
||||
{ "from": "Reference.*", "to": "Util/" },
|
||||
{ "from": "Rotate.*", "to": "Util/" },
|
||||
{ "from": "Scale.*", "to": "Util/" },
|
||||
{ "from": "SharedConstants.*", "to": "Util/" },
|
||||
{ "from": "SmoothFloat.*", "to": "Util/" },
|
||||
{ "from": "SoundTypes.*", "to": "Util/" },
|
||||
{ "from": "StringHelpers.*", "to": "Util/" },
|
||||
{ "from": "ThreadName.*", "to": "Util/" },
|
||||
{ "from": "UseAnim.*", "to": "Util/" },
|
||||
{ "from": "Vec3.*", "to": "Util/" },
|
||||
{ "from": "WaterColor.*", "to": "Util/" },
|
||||
{ "from": "WeighedRandom.*", "to": "Util/" },
|
||||
{ "from": "WeighedTreasure.*", "to": "Util/" },
|
||||
|
||||
{ "from": "*Biome.*", "to": "WorldGen/Biomes/" },
|
||||
{ "from": "BiomeCache.*", "to": "WorldGen/Biomes/" },
|
||||
{ "from": "BiomeDecorator.*", "to": "WorldGen/Biomes/" },
|
||||
{ "from": "BiomeSource.*", "to": "WorldGen/Biomes/" },
|
||||
{ "from": "FixedBiomeSource.*", "to": "WorldGen/Biomes/" },
|
||||
|
||||
{ "from": "*ChunkGenerator.*", "to": "WorldGen/ChunkGenerators/" },
|
||||
|
||||
{ "from": "BasicTree.*", "to": "WorldGen/Features/", "rename": "BasicTreeFeature.*" },
|
||||
{ "from": "*Feature.*", "to": "WorldGen/Features/" },
|
||||
{ "from": "NetherSphere.*", "to": "WorldGen/Features/", "rename": "NetherSphereFeature.*" },
|
||||
|
||||
{ "from": "*Layer.*", "to": "WorldGen/Layers/" },
|
||||
{ "from": "VoronoiZoom.*", "to": "WorldGen/Layers/" },
|
||||
|
||||
{ "from": "*Noise.*", "to": "WorldGen/Noise/" },
|
||||
{ "from": "Synth.*", "to": "WorldGen/Noise/" },
|
||||
|
||||
{ "from": "*LevelSource.*", "to": "WorldGen/Sources/" },
|
||||
|
||||
{ "from": "MineShaftPieces.*", "to": "WorldGen/Structures/" },
|
||||
{ "from": "MineShaftStart.*", "to": "WorldGen/Structures/" },
|
||||
{ "from": "NetherBridgePieces.*", "to": "WorldGen/Structures/" },
|
||||
{ "from": "ScatteredFeaturePieces.*", "to": "WorldGen/Structures/" },
|
||||
{ "from": "StrongholdPieces.*", "to": "WorldGen/Structures/" },
|
||||
{ "from": "StructurePiece.*", "to": "WorldGen/Structures/" },
|
||||
{ "from": "StructureStart.*", "to": "WorldGen/Structures/" },
|
||||
{ "from": "TheEndBiomeDecorator.*", "to": "WorldGen/Structures/" },
|
||||
{ "from": "Village.*", "to": "WorldGen/Structures/" },
|
||||
{ "from": "VillagePieces.*", "to": "WorldGen/Structures/" },
|
||||
{ "from": "Villages.*", "to": "WorldGen/Structures/" },
|
||||
|
||||
{"from": "ReadMe.txt", "to": "/"}
|
||||
]
|
||||
}
|
||||
Loading…
Reference in a new issue