From d0f22e8e9fb8427f54062acd79e93f11849a3065 Mon Sep 17 00:00:00 2001 From: Oddball Date: Mon, 9 Mar 2026 01:09:27 +0000 Subject: [PATCH] jsons converter and readme added --- MLCE Converter.py | 388 ++++++++++ README.md | 177 ++++- items.json | 1406 ++++++++++++++++++++++++++++++++++ terrain.json | 1868 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 3838 insertions(+), 1 deletion(-) create mode 100644 MLCE Converter.py create mode 100644 items.json create mode 100644 terrain.json diff --git a/MLCE Converter.py b/MLCE Converter.py new file mode 100644 index 0000000..ef2619f --- /dev/null +++ b/MLCE Converter.py @@ -0,0 +1,388 @@ +import tkinter as tk +from tkinter import ttk, filedialog, messagebox +import json +import os +from pathlib import Path +from PIL import Image, ImageTk + +# ── THEME ────────────────────────────────────────────────────────────────── +BG_DARK = "#2D2D30" +BG_PANEL = "#1E1E1E" +FG_MAIN = "#FFFFFF" +FG_GRAY = "#808080" +ACCENT = "#007ACC" +BTN_GREEN = "#3C8527" +BTN_RES = "#4A4A4F" +BTN_RES_ON= "#CC7A00" + +# Base canvas sizes in 16x tile units (width_tiles, height_tiles) +# Multiply by tile_px at build time to get pixel size +CANVAS_TILES = { + "terrain": (16, 32), + "items": (16, 16), + "particles": (8, 8), +} + +_preview_img = None + +projects = { + "terrain": {"json_path": "", "layout": [], "final_map": {}}, + "items": {"json_path": "", "layout": [], "final_map": {}}, + "particles": {"json_path": "", "layout": [], "final_map": {}}, +} +source_dir = {"v": ""} +current_scale = {"v": 1} # 1=16x 2=32x 4=64x + +TAB_ORDER = ["terrain", "items", "particles"] + +# ── ROOT ─────────────────────────────────────────────────────────────────── +root = tk.Tk() +root.title("Texture Manager v5.5") +root.geometry("1000x800") +root.minsize(800, 600) +root.configure(bg=BG_DARK) + +# ── TTK STYLES ───────────────────────────────────────────────────────────── +style = ttk.Style() +style.theme_use("default") +style.configure("Dark.Treeview", + background=BG_PANEL, foreground=FG_MAIN, + fieldbackground=BG_PANEL, rowheight=22, + font=("Segoe UI", 9)) +style.configure("Dark.Treeview.Heading", + background="#3C3C3C", foreground=FG_MAIN, + font=("Segoe UI", 9, "bold"), relief="flat") +style.map("Dark.Treeview", + background=[("selected", ACCENT)], + foreground=[("selected", FG_MAIN)]) +style.configure("Dark.TNotebook", + background=BG_DARK, borderwidth=0, tabmargins=0) +style.configure("Dark.TNotebook.Tab", + background="#3C3C3C", foreground=FG_GRAY, + padding=[18, 7], font=("Segoe UI", 9, "bold")) +style.map("Dark.TNotebook.Tab", + background=[("selected", ACCENT)], + foreground=[("selected", FG_MAIN)]) + +# ═══════════════════════════════════════════════════════════════════════════ +# TOP BAR +# ═══════════════════════════════════════════════════════════════════════════ +top_bar = tk.Frame(root, bg=BG_PANEL, height=46) +top_bar.pack(side="top", fill="x") +top_bar.pack_propagate(False) + +def pick_library(): + d = filedialog.askdirectory(title="Select Texture Library Folder") + if d: + source_dir["v"] = d + btn_lib.config(text=f"Library: {Path(d).name}") + +btn_lib = tk.Button(top_bar, text="1. SELECT LIBRARY", + bg="#3C3C3C", fg=FG_MAIN, + activebackground="#505050", activeforeground=FG_MAIN, + relief="flat", font=("Segoe UI", 9, "bold"), + command=pick_library) +btn_lib.pack(side="left", padx=(8, 6), pady=7, ipady=5, ipadx=10) + +json_btns = {} +for ptype in TAB_ORDER: + def make_json_cmd(pt): + def cmd(): + f = filedialog.askopenfilename( + title=f"Select {pt.upper()} JSON", + filetypes=[("JSON Files", "*.json")]) + if f: + with open(f, "r", encoding="utf-8") as fh: + projects[pt]["layout"] = json.load(fh) + projects[pt]["json_path"] = f + projects[pt]["final_map"] = {} + json_btns[pt].config( + text=f"{pt.upper()} JSON: {Path(f).name}", + fg="#90EE90") + refresh_list(pt) + return cmd + b = tk.Button(top_bar, + text=f"{ptype.upper()} JSON: ---", + bg="#3C3C3C", fg=FG_GRAY, + activebackground="#505050", activeforeground=FG_MAIN, + relief="flat", font=("Segoe UI", 9), + command=make_json_cmd(ptype)) + b.pack(side="left", padx=4, pady=7, ipady=5, ipadx=8) + json_btns[ptype] = b + +tk.Frame(top_bar, bg="#555555", width=2).pack( + side="left", fill="y", pady=8, padx=6) + +res_btns = {} + +def set_resolution(scale): + current_scale["v"] = scale + labels = {1: "16x", 2: "32x", 4: "64x"} + for s, btn in res_btns.items(): + if s == scale: + btn.config(bg=BTN_RES_ON, fg=FG_MAIN, relief="sunken") + else: + btn.config(bg=BTN_RES, fg=FG_GRAY, relief="flat") + root.title(f"Texture Manager v5.5 [{labels[scale]}]") + +for scale, label in [(1, "16x"), (2, "32x"), (4, "64x")]: + def make_res_cmd(s): + return lambda: set_resolution(s) + b = tk.Button(top_bar, text=label, + bg=BTN_RES, fg=FG_GRAY, + activebackground="#666666", activeforeground=FG_MAIN, + relief="flat", font=("Segoe UI", 9, "bold"), width=4, + command=make_res_cmd(scale)) + b.pack(side="left", padx=2, pady=7, ipady=5) + res_btns[scale] = b + +set_resolution(1) + +# ═══════════════════════════════════════════════════════════════════════════ +# LOAD TILE +# Crops to a square first frame (handles animated strips of any height), +# then resizes to exactly tile_px × tile_px using nearest neighbour. +# ═══════════════════════════════════════════════════════════════════════════ +def load_tile(fpath, tile_px): + img = Image.open(fpath).convert("RGBA") + w, h = img.size + + # Determine the native tile size: smallest of w and h + # (animated strips are always taller than wide) + native = min(w, h) + + # Crop to first frame (top-left native×native square) + if w != native or h != native: + img = img.crop((0, 0, native, native)) + + # Scale to target tile size + if img.size != (tile_px, tile_px): + img = img.resize((tile_px, tile_px), Image.NEAREST) + + return img + + +# ═══════════════════════════════════════════════════════════════════════════ +# NOTEBOOK TABS +# ═══════════════════════════════════════════════════════════════════════════ +notebook = ttk.Notebook(root, style="Dark.TNotebook") +notebook.pack(side="top", fill="both", expand=True, padx=10, pady=(6, 0)) + +trees = {} +previews = {} + +for ptype in TAB_ORDER: + tab = tk.Frame(notebook, bg=BG_DARK) + notebook.add(tab, text=f" {ptype.upper()} ") + + sv = tk.StringVar() + se = tk.Entry(tab, textvariable=sv, + bg=BG_PANEL, fg=FG_MAIN, insertbackground=FG_MAIN, + relief="flat", font=("Segoe UI", 10)) + se.pack(side="top", fill="x", padx=0, pady=(0, 4), ipady=4) + projects[ptype]["search_var"] = sv + sv.trace_add("write", lambda *_, pt=ptype: refresh_list(pt)) + + pane = tk.PanedWindow(tab, orient=tk.HORIZONTAL, + bg=BG_DARK, sashwidth=5, sashrelief="flat") + pane.pack(fill="both", expand=True) + + lf = tk.Frame(pane, bg=BG_PANEL) + pane.add(lf, width=620, minsize=300) + + tree = ttk.Treeview(lf, columns=("block", "source"), + show="headings", style="Dark.Treeview", + selectmode="browse") + tree.heading("block", text="BLOCK TYPE") + tree.heading("source", text="SOURCE FILE") + tree.column("block", width=250, anchor="w") + tree.column("source", width=350, anchor="w") + vsb = ttk.Scrollbar(lf, orient="vertical", command=tree.yview) + tree.configure(yscrollcommand=vsb.set) + vsb.pack(side="right", fill="y") + tree.pack(side="left", fill="both", expand=True) + trees[ptype] = tree + + rf = tk.Frame(pane, bg=BG_DARK) + pane.add(rf, minsize=200) + + pc = tk.Canvas(rf, bg="black", highlightthickness=0) + pc.place(x=10, y=10, relwidth=1.0, width=-20, height=310) + previews[ptype] = pc + + def make_auto(pt): + def do_auto(): + if not source_dir["v"]: + messagebox.showwarning("No Library", + "Please select a library folder first.") + return + png_files = {} + for r, _, files in os.walk(source_dir["v"]): + for f in files: + if f.lower().endswith(".png"): + base = Path(f).stem + if base not in png_files: + png_files[base] = os.path.join(r, f) + matched = 0 + for i, obj in enumerate(projects[pt]["layout"]): + name = obj.get("Name") or obj.get("n", "") + if name in png_files: + projects[pt]["final_map"][i] = png_files[name] + matched += 1 + refresh_list(pt) + messagebox.showinfo("Auto-Sync Complete", + f"Matched {matched} of {len(projects[pt]['layout'])} entries.") + return do_auto + + tk.Button(rf, text="AUTO-SYNC FROM LIBRARY", + bg=ACCENT, fg=FG_MAIN, + activebackground="#005FA3", activeforeground=FG_MAIN, + relief="flat", font=("Segoe UI", 10, "bold"), + command=make_auto(ptype)).place( + x=10, y=328, relwidth=1.0, width=-20, height=52) + + def make_sel(pt): + def on_sel(event): + global _preview_img + sel = trees[pt].selection() + if not sel: + return + idx = int(sel[0]) + previews[pt].delete("all") + if idx not in projects[pt]["final_map"]: + return + try: + img = load_tile(projects[pt]["final_map"][idx], 16) + cw = previews[pt].winfo_width() or 310 + ch = previews[pt].winfo_height() or 310 + sc = max(1, min(cw // img.width, ch // img.height)) + img = img.resize( + (img.width * sc, img.height * sc), Image.NEAREST) + _preview_img = ImageTk.PhotoImage(img) + ox = (cw - img.width) // 2 + oy = (ch - img.height) // 2 + previews[pt].create_image(ox, oy, anchor="nw", + image=_preview_img) + except Exception: + pass + return on_sel + + tree.bind("<>", make_sel(ptype)) + + def make_dbl(pt): + def on_dbl(event): + sel = trees[pt].selection() + if not sel: + return + idx = int(sel[0]) + path = filedialog.askopenfilename( + title="Select PNG", + filetypes=[("PNG Files", "*.png")]) + if path: + projects[pt]["final_map"][idx] = path + refresh_list(pt) + trees[pt].selection_set(str(idx)) + return on_dbl + + tree.bind("", make_dbl(ptype)) + +# ═══════════════════════════════════════════════════════════════════════════ +# REFRESH LIST +# ═══════════════════════════════════════════════════════════════════════════ +def refresh_list(ptype=None): + if ptype is None: + ptype = TAB_ORDER[notebook.index(notebook.select())] + tree = trees[ptype] + proj = projects[ptype] + filt = proj["search_var"].get().lower() + tree.delete(*tree.get_children()) + for i, obj in enumerate(proj["layout"]): + display = (obj.get("DisplayName") or + obj.get("n") or + obj.get("Name", "")) + if filt and filt not in display.lower(): + continue + fname = (os.path.basename(proj["final_map"][i]) + if i in proj["final_map"] else "---") + iid = tree.insert("", "end", iid=str(i), values=(display, fname)) + if fname == "---": + tree.item(iid, tags=("gray",)) + tree.tag_configure("gray", foreground=FG_GRAY) + +notebook.bind("<>", lambda *_: refresh_list()) + +# ═══════════════════════════════════════════════════════════════════════════ +# BUILD +# ═══════════════════════════════════════════════════════════════════════════ +def do_build(): + ptype = TAB_ORDER[notebook.index(notebook.select())] + proj = projects[ptype] + scale = current_scale["v"] + tile_px = 16 * scale # e.g. 32 for 32x + + if not proj["json_path"]: + messagebox.showwarning("No JSON", + f"Please load a {ptype.upper()} JSON first.") + return + + cols, rows = CANVAS_TILES[ptype] + cw = cols * tile_px # canvas width in pixels + ch = rows * tile_px # canvas height in pixels + + canvas_img = Image.new("RGBA", (cw, ch), (0, 0, 0, 0)) + + placed = 0 + errors = 0 + for k, fpath in proj["final_map"].items(): + if not os.path.exists(fpath): + continue + try: + tile = load_tile(fpath, tile_px) + obj = proj["layout"][k] + + # Convert JSON coord (always 16x pixel space) → grid slot → output pixel + json_x = int(obj.get("X", obj.get("x", 0))) + json_y = int(obj.get("Y", obj.get("y", 0))) + col = json_x // 16 # which grid column (0-based) + row = json_y // 16 # which grid row (0-based) + px = col * tile_px # output pixel X + py = row * tile_px # output pixel Y + + # Use tile as its own alpha mask so transparent edges + # never overwrite adjacent tiles + canvas_img.paste(tile, (px, py), tile) + placed += 1 + except Exception as e: + errors += 1 + + out_dir = os.path.dirname(proj["json_path"]) + json_base = Path(proj["json_path"]).stem + out_path = os.path.join(out_dir, f"{json_base}.png") + canvas_img.save(out_path) + + if ptype == "terrain": + canvas_img.resize((cw // 2, ch // 2), Image.NEAREST).save( + os.path.join(out_dir, "terrainMipMapLevel2.png")) + canvas_img.resize((cw // 4, ch // 4), Image.NEAREST).save( + os.path.join(out_dir, "terrainMipMapLevel3.png")) + + res_label = {1: "16x", 2: "32x", 4: "64x"}[scale] + msg = (f"Resolution: {res_label}\n" + f"Canvas: {cw}×{ch}\n" + f"Tiles placed: {placed}") + if errors: + msg += f"\nErrors skipped: {errors}" + messagebox.showinfo("Build Complete", f"{msg}\n\nSaved to:\n{out_path}") + +# ── BOTTOM BUILD BAR ─────────────────────────────────────────────────────── +bottom = tk.Frame(root, bg=BG_DARK, height=70) +bottom.pack(side="bottom", fill="x", padx=10, pady=(0, 8)) +bottom.pack_propagate(False) + +tk.Button(bottom, text="BUILD ASSETS", + bg=BTN_GREEN, fg=FG_MAIN, + activebackground="#2E6B1A", activeforeground=FG_MAIN, + relief="flat", font=("Segoe UI", 12, "bold"), + command=do_build).pack(fill="both", expand=True) + +root.mainloop() diff --git a/README.md b/README.md index ca5dabc..82dbbd1 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,177 @@ -# Java-to-MLCE-Texture-Pack-Converter +# Java-to-MLCE Texture Pack Converter +A desktop GUI tool for converting modern **Java Edition texture packs** into the sprite sheet format used by **Minecraft: Legacy Console Edition (MLCE)**. Instead of manually stitching hundreds of individual PNGs into a single atlas, this tool maps each texture to its correct position automatically and exports a ready-to-use sprite sheet at your chosen resolution. + +--- + +## Features + +- **Three sprite sheet targets** — Terrain, Items, and Particles, each with their own tab and layout +- **Auto-Sync** — Point the tool at any Java texture pack folder and it will automatically match every PNG it finds to the correct slot by filename +- **Manual override** — Double-click any entry in the list to hand-pick a specific PNG for that slot +- **Live preview** — Click any mapped entry to instantly preview the texture it will place +- **Multi-resolution output** — Build at **16×**, **32×**, or **64×** with one click; all coordinates scale automatically +- **Terrain mip maps** — Automatically generates `terrainMipMapLevel2.png` (½ size) and `terrainMipMapLevel3.png` (¼ size) alongside the main terrain sheet +- **Search / filter** — Filter any tab's entry list in real time by name +- **Bundled MLCE-exclusive textures** — Several textures that exist only in Legacy Console Edition and have no Java equivalent are included in the repo ready to use + +--- + +## Sprite Sheet Layouts + +| Sheet | Grid | 16× size | 32× size | 64× size | +|---|---|---|---|---| +| `terrain.png` | 16 × 32 tiles | 256 × 512 px | 512 × 1024 px | 1024 × 2048 px | +| `items.png` | 16 × 16 tiles | 256 × 256 px | 512 × 512 px | 1024 × 1024 px | +| `particles.png` | 8 × 8 tiles | 128 × 128 px | 256 × 256 px | 512 × 512 px | + +--- + +## JSON Mapping Files + +Each sprite sheet is driven by a `.json` file that defines where every tile lives on the atlas. The repo includes pre-built mapping files for the default MLCE layout. + +### Format + +```json +[ + { + "Name": "grass_block_top", + "DisplayName": "Grass Top", + "X": 0, + "Y": 0 + }, + { + "Name": "stone", + "DisplayName": "Stone", + "X": 16, + "Y": 0 + } +] +``` + +| Field | Description | +|---|---| +| `Name` | Exact filename of the source PNG without extension. Must match a file in your texture pack or the bundled exclusives folder. | +| `DisplayName` | Human-readable label shown in the UI. | +| `X` / `Y` | Position on the sprite sheet in **16× pixel space**. The tool converts these to the correct output coordinates at build time regardless of chosen resolution. | + +--- + +## MLCE-Exclusive Textures + +Legacy Console Edition contains a number of textures that were either removed from Java before the texture pack era or never existed in Java at all. These are bundled in the repo so your converted pack is complete without needing to source them manually. + +| File | Description | +|---|---| +| `ruby.png` | Ruby — cut item that was replaced by emerald in Java | +| `quiver.png` | Quiver — cut item that never shipped in Java | +| `inventory_overlay.png` | Inventory slot overlay used in MLCE UI | +| `armour_head.png` | Armour UI overlay — helmet slot | +| `armour_chest.png` | Armour UI overlay — chestplate slot | +| `armour_leg.png` | Armour UI overlay — leggings slot | +| `armour_boots.png` | Armour UI overlay — boots slot | +| `spawn_egg_particle.png` | Spawn egg particle texture exclusive to MLCE | +| `firetex.png` | MLCE fire texture variant | +| `lava_flow.png` | MLCE lava flow texture variant | +| `Purple_tex.png` | Purple/chorus-related texture exclusive to MLCE | +| `brown_thing.png` | Leather armour item trim — the brown border detail on the outside of leather armour pieces | +| `brown_thing_2.png` | Leather armour item trim variant 2 | +| `brown_thing_3.png` | Leather armour item trim variant 3 | + +When you run Auto-Sync, add the folder containing these files as part of your library and they will be matched automatically. + +--- + +## Known Limitations + +### Block and Item Texture Folder Conflicts +Java Edition texture packs store block textures and item textures in separate subfolders (`textures/block/` and `textures/item/`), and some filenames are shared between the two — for example a block and its item drop can have the exact same filename. Because of this, when running Auto-Sync you should **point your library at the specific subfolder** you are building for rather than the root of the pack: + +- For **terrain** builds — browse to the `textures/block/` folder +- For **items** builds — browse to the `textures/item/` folder + +If you point the library at the pack root or the `textures/` folder, block textures can end up being placed in item slots and vice versa wherever filenames collide. + +### Particles Sheet +The particles JSON mapping file is **not yet available**. The Particles tab is present in the tool but cannot be used to generate a sheet until the mapping file is added in a future update. + +### Bed Textures +Bed textures **do not convert automatically** and will need to be handled manually. Modern Java Edition resource packs store bed textures as full 3D model skin sheets (e.g. `red_bed.png`, `white_bed.png`) split across the head and foot of the bed as separate files. MLCE instead expects each bed face — top, side, and end for both the head and foot sections — as individual 16×16 tiles placed directly on the items sheet. + +Because the layouts are fundamentally different, Auto-Sync cannot extract and remap these correctly from a Java pack. You will need to either: +- **Create your own** bed face tiles manually by cropping and adapting the faces from your Java pack's bed texture +- **Find pre-made** MLCE-format bed tiles that match your pack's style + +This is a known issue and proper automatic bed conversion is planned for a future update. + +A fix for now is ive noticed some texture packs made for slightly older versions of the game arent like this and are from before they made that switch, ive found a safe version that a decent amount of modern packs support that dont have this limitation is packs made for 1.8.9. + +--- + +## Requirements + +- Python 3.9+ +- Pillow + +```bash +pip install pillow +``` + +--- + +## Running the Tool + +```bash +python MLCE_Converter.py +``` + +--- + +## How to Use + +### Step 1 — Select your library +Click **SELECT LIBRARY** and browse to the textures folder for Blocks and the items folder inside of the textures for Items of a Java Edition texture pack (or any folder containing the correct `.png` files). (the reason for needing different folders for block textures and items is because some of the blocks have the same filename as the item sprite because its in a different folder than the item sprite causing the block textures to be placed in the space of the item sprite) The tool walks all subfolders automatically. To include the bundled MLCE-exclusive textures, point it at the root of this repo or a folder that contains them alongside your pack files. + +### Step 2 — Load a JSON +Click **TERRAIN JSON**, **ITEMS JSON**, or **PARTICLES JSON** and select the corresponding mapping file from this repo. The entry list will populate immediately. + +### Step 3 — Map your textures +Click **AUTO-SYNC FROM LIBRARY** on the active tab. The tool scans your library, matches every PNG whose filename equals a `Name` value in the JSON, and fills in all matching slots. A summary dialog tells you how many entries were matched. + +For any slot that wasn't matched automatically, double-click the row and browse to the correct PNG manually. + +### Step 4 — Choose a resolution +Select **16×**, **32×**, or **64×** from the buttons in the top bar. This controls the size of each tile in the output sheet. + +### Step 5 — Build +Click **BUILD ASSETS**. The output PNG is saved to the same folder as the JSON file you loaded. For terrain builds, the two mip map levels are saved there as well. + +### Step 6 — Inject +Take your built files and take them to `LCEWindows64/Common/res/TitleUpdate/res` and just replace the default files + +Or use a pck editor like PCK-Studio to create custom texture packs + +--- + +## Repository Contents + +| File | Description | +|---|---| +| `MLCE_Converter.py` | Main application source | +| `terrain.json` | MLCE terrain sprite sheet mapping | +| `items.json` | MLCE items sprite sheet mapping | +| `ruby.png` | Bundled MLCE-exclusive texture | +| `quiver.png` | Bundled MLCE-exclusive texture | +| `inventory_overlay.png` | Bundled MLCE-exclusive texture | +| `armour_head.png` | Bundled MLCE-exclusive texture | +| `armour_chest.png` | Bundled MLCE-exclusive texture | +| `armour_leg.png` | Bundled MLCE-exclusive texture | +| `armour_boots.png` | Bundled MLCE-exclusive texture | +| `spawn_egg_particle.png` | Bundled MLCE-exclusive texture | +| `firetex.png` | Bundled MLCE-exclusive texture | +| `lava_flow.png` | Bundled MLCE-exclusive texture | +| `Purple_tex.png` | Bundled MLCE-exclusive texture | +| `brown_thing.png` | Bundled MLCE-exclusive texture | +| `brown_thing_2.png` | Bundled MLCE-exclusive texture | +| `brown_thing_3.png` | Bundled MLCE-exclusive texture | diff --git a/items.json b/items.json new file mode 100644 index 0000000..8de7746 --- /dev/null +++ b/items.json @@ -0,0 +1,1406 @@ +[ + { + "Name": "leather_helmet", + "DisplayName": "Leather Helmet", + "X": 0, + "Y": 0 + }, + { + "Name": "chainmail_helmet", + "DisplayName": "Chainmail Helmet", + "X": 16, + "Y": 0 + }, + { + "Name": "iron_helmet", + "DisplayName": "Iron Helmet", + "X": 32, + "Y": 0 + }, + { + "Name": "diamond_helmet", + "DisplayName": "Diamond Helmet", + "X": 48, + "Y": 0 + }, + { + "Name": "golden_helmet", + "DisplayName": "Golden Helmet", + "X": 64, + "Y": 0 + }, + { + "Name": "flint_and_steel", + "DisplayName": "Flint and Steel", + "X": 80, + "Y": 0 + }, + { + "Name": "flint", + "DisplayName": "Flint", + "X": 96, + "Y": 0 + }, + { + "Name": "coal", + "DisplayName": "Coal", + "X": 112, + "Y": 0 + }, + { + "Name": "string", + "DisplayName": "String", + "X": 128, + "Y": 0 + }, + { + "Name": "wheat_seeds", + "DisplayName": "Wheat Seeds", + "X": 144, + "Y": 0 + }, + { + "Name": "apple", + "DisplayName": "Apple", + "X": 160, + "Y": 0 + }, + { + "Name": "golden_apple", + "DisplayName": "Golden Apple", + "X": 176, + "Y": 0 + }, + { + "Name": "egg", + "DisplayName": "Egg", + "X": 192, + "Y": 0 + }, + { + "Name": "sugar", + "DisplayName": "Sugar", + "X": 208, + "Y": 0 + }, + { + "Name": "snowball", + "DisplayName": "Snowball", + "X": 224, + "Y": 0 + }, + { + "Name": "armor_ui_head", + "DisplayName": "Armor UI Head", + "X": 240, + "Y": 0 + }, + { + "Name": "leather_chestplate", + "DisplayName": "Leather Chestplate", + "X": 0, + "Y": 16 + }, + { + "Name": "chainmail_chestplate", + "DisplayName": "Chainmail Chestplate", + "X": 16, + "Y": 16 + }, + { + "Name": "iron_chestplate", + "DisplayName": "Iron Chestplate", + "X": 32, + "Y": 16 + }, + { + "Name": "diamond_chestplate", + "DisplayName": "Diamond Chestplate", + "X": 48, + "Y": 16 + }, + { + "Name": "golden_chestplate", + "DisplayName": "Golden Chestplate", + "X": 64, + "Y": 16 + }, + { + "Name": "bow", + "DisplayName": "Bow", + "X": 80, + "Y": 16 + }, + { + "Name": "brick", + "DisplayName": "Brick", + "X": 96, + "Y": 16 + }, + { + "Name": "iron_ingot", + "DisplayName": "Iron Ingot", + "X": 112, + "Y": 16 + }, + { + "Name": "feather", + "DisplayName": "Feather", + "X": 128, + "Y": 16 + }, + { + "Name": "wheat", + "DisplayName": "Wheat", + "X": 144, + "Y": 16 + }, + { + "Name": "painting", + "DisplayName": "Painting", + "X": 160, + "Y": 16 + }, + { + "Name": "sugar_cane", + "DisplayName": "Sugar Cane", + "X": 176, + "Y": 16 + }, + { + "Name": "bone", + "DisplayName": "Bone", + "X": 192, + "Y": 16 + }, + { + "Name": "cake", + "DisplayName": "Cake", + "X": 208, + "Y": 16 + }, + { + "Name": "slime_ball", + "DisplayName": "Slime Ball", + "X": 224, + "Y": 16 + }, + { + "Name": "armor_ui_chest", + "DisplayName": "Armor UI Chest", + "X": 240, + "Y": 16 + }, + { + "Name": "leather_leggings", + "DisplayName": "Leather Leggings", + "X": 0, + "Y": 32 + }, + { + "Name": "chainmail_leggings", + "DisplayName": "Chainmail Leggings", + "X": 16, + "Y": 32 + }, + { + "Name": "iron_leggings", + "DisplayName": "Iron Leggings", + "X": 32, + "Y": 32 + }, + { + "Name": "diamond_leggings", + "DisplayName": "Diamond Leggings", + "X": 48, + "Y": 32 + }, + { + "Name": "golden_leggings", + "DisplayName": "Golden Leggings", + "X": 64, + "Y": 32 + }, + { + "Name": "arrow", + "DisplayName": "Arrow", + "X": 80, + "Y": 32 + }, + { + "Name": "quiver", + "DisplayName": "Quiver", + "X": 96, + "Y": 32 + }, + { + "Name": "gold_ingot", + "DisplayName": "Gold Ingot", + "X": 112, + "Y": 32 + }, + { + "Name": "gunpowder", + "DisplayName": "Gunpowder", + "X": 128, + "Y": 32 + }, + { + "Name": "bread", + "DisplayName": "Bread", + "X": 144, + "Y": 32 + }, + { + "Name": "oak_sign", + "DisplayName": "Oak Sign", + "X": 160, + "Y": 32 + }, + { + "Name": "oak_door", + "DisplayName": "Oak Door", + "X": 176, + "Y": 32 + }, + { + "Name": "iron_door", + "DisplayName": "Iron Door", + "X": 192, + "Y": 32 + }, + { + "Name": "red_bed", + "DisplayName": "Red Bed", + "X": 208, + "Y": 32 + }, + { + "Name": "fire_charge", + "DisplayName": "Fire Charge", + "X": 224, + "Y": 32 + }, + { + "Name": "armor_ui_legs", + "DisplayName": "Armor UI Legs", + "X": 240, + "Y": 32 + }, + { + "Name": "leather_boots", + "DisplayName": "Leather Boots", + "X": 0, + "Y": 48 + }, + { + "Name": "chainmail_boots", + "DisplayName": "Chainmail Boots", + "X": 16, + "Y": 48 + }, + { + "Name": "iron_boots", + "DisplayName": "Iron Boots", + "X": 32, + "Y": 48 + }, + { + "Name": "diamond_boots", + "DisplayName": "Diamond Boots", + "X": 48, + "Y": 48 + }, + { + "Name": "golden_boots", + "DisplayName": "Golden Boots", + "X": 64, + "Y": 48 + }, + { + "Name": "stick", + "DisplayName": "Stick", + "X": 80, + "Y": 48 + }, + { + "Name": "compass", + "DisplayName": "Compass", + "X": 96, + "Y": 48 + }, + { + "Name": "diamond", + "DisplayName": "Diamond", + "X": 112, + "Y": 48 + }, + { + "Name": "redstone", + "DisplayName": "Redstone", + "X": 128, + "Y": 48 + }, + { + "Name": "clay_ball", + "DisplayName": "Clay Ball", + "X": 144, + "Y": 48 + }, + { + "Name": "paper", + "DisplayName": "Paper", + "X": 160, + "Y": 48 + }, + { + "Name": "book", + "DisplayName": "Book", + "X": 176, + "Y": 48 + }, + { + "Name": "filled_map", + "DisplayName": "Filled Map", + "X": 192, + "Y": 48 + }, + { + "Name": "pumpkin_seeds", + "DisplayName": "Pumpkin Seeds", + "X": 208, + "Y": 48 + }, + { + "Name": "melon_seeds", + "DisplayName": "Melon Seeds", + "X": 224, + "Y": 48 + }, + { + "Name": "armor_ui_boots", + "DisplayName": "Armor UI Boots", + "X": 240, + "Y": 48 + }, + { + "Name": "wooden_sword", + "DisplayName": "Wooden Sword", + "X": 0, + "Y": 64 + }, + { + "Name": "stone_sword", + "DisplayName": "Stone Sword", + "X": 16, + "Y": 64 + }, + { + "Name": "iron_sword", + "DisplayName": "Iron Sword", + "X": 32, + "Y": 64 + }, + { + "Name": "diamond_sword", + "DisplayName": "Diamond Sword", + "X": 48, + "Y": 64 + }, + { + "Name": "golden_sword", + "DisplayName": "Golden Sword", + "X": 64, + "Y": 64 + }, + { + "Name": "fishing_rod", + "DisplayName": "Fishing Rod", + "X": 80, + "Y": 64 + }, + { + "Name": "clock", + "DisplayName": "Clock", + "X": 96, + "Y": 64 + }, + { + "Name": "bowl", + "DisplayName": "Bowl", + "X": 112, + "Y": 64 + }, + { + "Name": "mushroom_stew", + "DisplayName": "Mushroom Stew", + "X": 128, + "Y": 64 + }, + { + "Name": "glowstone_dust", + "DisplayName": "Glowstone Dust", + "X": 144, + "Y": 64 + }, + { + "Name": "bucket", + "DisplayName": "Bucket", + "X": 160, + "Y": 64 + }, + { + "Name": "water_bucket", + "DisplayName": "Water Bucket", + "X": 176, + "Y": 64 + }, + { + "Name": "lava_bucket", + "DisplayName": "Lava Bucket", + "X": 192, + "Y": 64 + }, + { + "Name": "milk_bucket", + "DisplayName": "Milk Bucket", + "X": 208, + "Y": 64 + }, + { + "Name": "ink_sac", + "DisplayName": "Ink Sac", + "X": 224, + "Y": 64 + }, + { + "Name": "gray_dye", + "DisplayName": "Gray Dye", + "X": 240, + "Y": 64 + }, + { + "Name": "wooden_shovel", + "DisplayName": "Wooden Shovel", + "X": 0, + "Y": 80 + }, + { + "Name": "stone_shovel", + "DisplayName": "Stone Shovel", + "X": 16, + "Y": 80 + }, + { + "Name": "iron_shovel", + "DisplayName": "Iron Shovel", + "X": 32, + "Y": 80 + }, + { + "Name": "diamond_shovel", + "DisplayName": "Diamond Shovel", + "X": 48, + "Y": 80 + }, + { + "Name": "golden_shovel", + "DisplayName": "Golden Shovel", + "X": 64, + "Y": 80 + }, + { + "Name": "fishing_rod_cast", + "DisplayName": "Fishing Rod (Cast)", + "X": 80, + "Y": 80 + }, + { + "Name": "repeater", + "DisplayName": "Repeater", + "X": 96, + "Y": 80 + }, + { + "Name": "raw_porkchop", + "DisplayName": "Raw Porkchop", + "X": 112, + "Y": 80 + }, + { + "Name": "cooked_porkchop", + "DisplayName": "Cooked Porkchop", + "X": 128, + "Y": 80 + }, + { + "Name": "cod", + "DisplayName": "Cod", + "X": 144, + "Y": 80 + }, + { + "Name": "cooked_cod", + "DisplayName": "Cooked Cod", + "X": 160, + "Y": 80 + }, + { + "Name": "rotten_flesh", + "DisplayName": "Rotten Flesh", + "X": 176, + "Y": 80 + }, + { + "Name": "cookie", + "DisplayName": "Cookie", + "X": 192, + "Y": 80 + }, + { + "Name": "shears", + "DisplayName": "Shears", + "X": 208, + "Y": 80 + }, + { + "Name": "red_dye", + "DisplayName": "Red Dye", + "X": 224, + "Y": 80 + }, + { + "Name": "pink_dye", + "DisplayName": "Pink Dye", + "X": 240, + "Y": 80 + }, + { + "Name": "wooden_pickaxe", + "DisplayName": "Wooden Pickaxe", + "X": 0, + "Y": 96 + }, + { + "Name": "stone_pickaxe", + "DisplayName": "Stone Pickaxe", + "X": 16, + "Y": 96 + }, + { + "Name": "iron_pickaxe", + "DisplayName": "Iron Pickaxe", + "X": 32, + "Y": 96 + }, + { + "Name": "diamond_pickaxe", + "DisplayName": "Diamond Pickaxe", + "X": 48, + "Y": 96 + }, + { + "Name": "golden_pickaxe", + "DisplayName": "Golden Pickaxe", + "X": 64, + "Y": 96 + }, + { + "Name": "bow_pulling_0", + "DisplayName": "Bow Pulling 0", + "X": 80, + "Y": 96 + }, + { + "Name": "carrot_on_a_stick", + "DisplayName": "Carrot on a Stick", + "X": 96, + "Y": 96 + }, + { + "Name": "leather", + "DisplayName": "Leather", + "X": 112, + "Y": 96 + }, + { + "Name": "saddle", + "DisplayName": "Saddle", + "X": 128, + "Y": 96 + }, + { + "Name": "raw_beef", + "DisplayName": "Raw Beef", + "X": 144, + "Y": 96 + }, + { + "Name": "cooked_beef", + "DisplayName": "Cooked Beef", + "X": 160, + "Y": 96 + }, + { + "Name": "ender_pearl", + "DisplayName": "Ender Pearl", + "X": 176, + "Y": 96 + }, + { + "Name": "blaze_rod", + "DisplayName": "Blaze Rod", + "X": 192, + "Y": 96 + }, + { + "Name": "melon_slice", + "DisplayName": "Melon Slice", + "X": 208, + "Y": 96 + }, + { + "Name": "green_dye", + "DisplayName": "Green Dye", + "X": 224, + "Y": 96 + }, + { + "Name": "lime_dye", + "DisplayName": "Lime Dye", + "X": 240, + "Y": 96 + }, + { + "Name": "wooden_axe", + "DisplayName": "Wooden Axe", + "X": 0, + "Y": 112 + }, + { + "Name": "stone_axe", + "DisplayName": "Stone Axe", + "X": 16, + "Y": 112 + }, + { + "Name": "iron_axe", + "DisplayName": "Iron Axe", + "X": 32, + "Y": 112 + }, + { + "Name": "diamond_axe", + "DisplayName": "Diamond Axe", + "X": 48, + "Y": 112 + }, + { + "Name": "golden_axe", + "DisplayName": "Golden Axe", + "X": 64, + "Y": 112 + }, + { + "Name": "bow_pulling_1", + "DisplayName": "Bow Pulling 1", + "X": 80, + "Y": 112 + }, + { + "Name": "baked_potato", + "DisplayName": "Baked Potato", + "X": 96, + "Y": 112 + }, + { + "Name": "potato", + "DisplayName": "Potato", + "X": 112, + "Y": 112 + }, + { + "Name": "carrot", + "DisplayName": "Carrot", + "X": 128, + "Y": 112 + }, + { + "Name": "raw_chicken", + "DisplayName": "Raw Chicken", + "X": 144, + "Y": 112 + }, + { + "Name": "cooked_chicken", + "DisplayName": "Cooked Chicken", + "X": 160, + "Y": 112 + }, + { + "Name": "ghast_tear", + "DisplayName": "Ghast Tear", + "X": 176, + "Y": 112 + }, + { + "Name": "gold_nugget", + "DisplayName": "Gold Nugget", + "X": 192, + "Y": 112 + }, + { + "Name": "nether_wart", + "DisplayName": "Nether Wart", + "X": 208, + "Y": 112 + }, + { + "Name": "cocoa_beans", + "DisplayName": "Cocoa Beans", + "X": 224, + "Y": 112 + }, + { + "Name": "yellow_dye", + "DisplayName": "Yellow Dye", + "X": 240, + "Y": 112 + }, + { + "Name": "wooden_hoe", + "DisplayName": "Wooden Hoe", + "X": 0, + "Y": 128 + }, + { + "Name": "stone_hoe", + "DisplayName": "Stone Hoe", + "X": 16, + "Y": 128 + }, + { + "Name": "iron_hoe", + "DisplayName": "Iron Hoe", + "X": 32, + "Y": 128 + }, + { + "Name": "diamond_hoe", + "DisplayName": "Diamond Hoe", + "X": 48, + "Y": 128 + }, + { + "Name": "golden_hoe", + "DisplayName": "Golden Hoe", + "X": 64, + "Y": 128 + }, + { + "Name": "bow_pulling_2", + "DisplayName": "Bow Pulling 2", + "X": 80, + "Y": 128 + }, + { + "Name": "poisonous_potato", + "DisplayName": "Poisonous Potato", + "X": 96, + "Y": 128 + }, + { + "Name": "minecart", + "DisplayName": "Minecart", + "X": 112, + "Y": 128 + }, + { + "Name": "oak_boat", + "DisplayName": "Oak Boat", + "X": 128, + "Y": 128 + }, + { + "Name": "glistering_melon_slice", + "DisplayName": "Glistering Melon Slice", + "X": 144, + "Y": 128 + }, + { + "Name": "fermented_spider_eye", + "DisplayName": "Fermented Spider Eye", + "X": 160, + "Y": 128 + }, + { + "Name": "spider_eye", + "DisplayName": "Spider Eye", + "X": 176, + "Y": 128 + }, + { + "Name": "glass_bottle", + "DisplayName": "Glass Bottle", + "X": 192, + "Y": 128 + }, + { + "Name": "potion_overlay", + "DisplayName": "Potion Overlay", + "X": 208, + "Y": 128 + }, + { + "Name": "lapis_lazuli", + "DisplayName": "Lapis Lazuli", + "X": 224, + "Y": 128 + }, + { + "Name": "light_blue_dye", + "DisplayName": "Light Blue Dye", + "X": 240, + "Y": 128 + }, + { + "Name": "exclusive_brown_texture", + "DisplayName": "Exclusive Brown Texture", + "X": 0, + "Y": 144 + }, + { + "Name": "iron_horse_armor", + "DisplayName": "Iron Horse Armor", + "X": 32, + "Y": 144 + }, + { + "Name": "diamond_horse_armor", + "DisplayName": "Diamond Horse Armor", + "X": 48, + "Y": 144 + }, + { + "Name": "golden_horse_armor", + "DisplayName": "Golden Horse Armor", + "X": 64, + "Y": 144 + }, + { + "Name": "comparator", + "DisplayName": "Comparator", + "X": 80, + "Y": 144 + }, + { + "Name": "golden_carrot", + "DisplayName": "Golden Carrot", + "X": 96, + "Y": 144 + }, + { + "Name": "chest_minecart", + "DisplayName": "Chest Minecart", + "X": 112, + "Y": 144 + }, + { + "Name": "pumpkin_pie", + "DisplayName": "Pumpkin Pie", + "X": 128, + "Y": 144 + }, + { + "Name": "egg", + "DisplayName": "Egg", + "X": 144, + "Y": 144 + }, + { + "Name": "splash_potion", + "DisplayName": "Splash Potion", + "X": 160, + "Y": 144 + }, + { + "Name": "ender_eye", + "DisplayName": "Eye of Ender", + "X": 176, + "Y": 144 + }, + { + "Name": "cauldron", + "DisplayName": "Cauldron", + "X": 192, + "Y": 144 + }, + { + "Name": "blaze_powder", + "DisplayName": "Blaze Powder", + "X": 208, + "Y": 144 + }, + { + "Name": "purple_dye", + "DisplayName": "Purple Dye", + "X": 224, + "Y": 144 + }, + { + "Name": "magenta_dye", + "DisplayName": "Magenta Dye", + "X": 240, + "Y": 144 + }, + { + "Name": "name_tag", + "DisplayName": "Name Tag", + "X": 48, + "Y": 160 + }, + { + "Name": "lead", + "DisplayName": "Lead", + "X": 80, + "Y": 160 + }, + { + "Name": "nether_brick", + "DisplayName": "Nether Brick", + "X": 96, + "Y": 160 + }, + { + "Name": "inventory_overlay", + "DisplayName": "Inventory Overlay", + "X": 112, + "Y": 160 + }, + { + "Name": "furnace_minecart", + "DisplayName": "Furnace Minecart", + "X": 128, + "Y": 160 + }, + { + "Name": "charcoal", + "DisplayName": "Charcoal", + "X": 144, + "Y": 160 + }, + { + "Name": "spawn_egg_overlay", + "DisplayName": "Spawn Egg Overlay", + "X": 160, + "Y": 160 + }, + { + "Name": "ruby", + "DisplayName": "Ruby", + "X": 176, + "Y": 160 + }, + { + "Name": "experience_bottle", + "DisplayName": "Bottle o' Enchanting", + "X": 192, + "Y": 160 + }, + { + "Name": "brewing_stand", + "DisplayName": "Brewing Stand", + "X": 208, + "Y": 160 + }, + { + "Name": "cyan_dye", + "DisplayName": "Cyan Dye", + "X": 224, + "Y": 160 + }, + { + "Name": "orange_dye", + "DisplayName": "Orange Dye", + "X": 240, + "Y": 160 + }, + { + "Name": "brown_item_2", + "DisplayName": "Brown Item 2", + "X": 0, + "Y": 176 + }, + { + "Name": "inventory_overlay", + "DisplayName": "Inventory Overlay", + "X": 16, + "Y": 176 + }, + { + "Name": "inventory_overlay", + "DisplayName": "Inventory Overlay", + "X": 32, + "Y": 176 + }, + { + "Name": "inventory_overlay", + "DisplayName": "Inventory Overlay", + "X": 48, + "Y": 176 + }, + { + "Name": "inventory_overlay", + "DisplayName": "Inventory Overlay", + "X": 80, + "Y": 176 + }, + { + "Name": "hopper_minecart", + "DisplayName": "Hopper Minecart", + "X": 112, + "Y": 176 + }, + { + "Name": "hopper", + "DisplayName": "Hopper", + "X": 128, + "Y": 176 + }, + { + "Name": "nether_star", + "DisplayName": "Nether Star", + "X": 144, + "Y": 176 + }, + { + "Name": "emerald", + "DisplayName": "Emerald", + "X": 160, + "Y": 176 + }, + { + "Name": "writable_book", + "DisplayName": "Book and Quill", + "X": 176, + "Y": 176 + }, + { + "Name": "written_book", + "DisplayName": "Written Book", + "X": 192, + "Y": 176 + }, + { + "Name": "flower_pot", + "DisplayName": "Flower Pot", + "X": 208, + "Y": 176 + }, + { + "Name": "light_gray_dye", + "DisplayName": "Light Gray Dye", + "X": 224, + "Y": 176 + }, + { + "Name": "bone_meal", + "DisplayName": "Bone Meal", + "X": 240, + "Y": 176 + }, + { + "Name": "brown_item_3", + "DisplayName": "Brown Item 3", + "X": 0, + "Y": 192 + }, + { + "Name": "inventory_overlay", + "DisplayName": "Inventory Overlay", + "X": 64, + "Y": 192 + }, + { + "Name": "inventory_overlay", + "DisplayName": "Inventory Overlay", + "X": 80, + "Y": 192 + }, + { + "Name": "inventory_overlay", + "DisplayName": "Inventory Overlay", + "X": 96, + "Y": 192 + }, + { + "Name": "tnt_minecart", + "DisplayName": "TNT Minecart", + "X": 112, + "Y": 192 + }, + { + "Name": "inventory_overlay", + "DisplayName": "Inventory Overlay", + "X": 128, + "Y": 192 + }, + { + "Name": "firework_rocket", + "DisplayName": "Firework Rocket", + "X": 144, + "Y": 192 + }, + { + "Name": "firework_star", + "DisplayName": "Firework Star", + "X": 160, + "Y": 192 + }, + { + "Name": "firework_star_overlay", + "DisplayName": "Firework Star Overlay", + "X": 176, + "Y": 192 + }, + { + "Name": "quartz", + "DisplayName": "Quartz", + "X": 192, + "Y": 192 + }, + { + "Name": "map", + "DisplayName": "Map", + "X": 208, + "Y": 192 + }, + { + "Name": "item_frame", + "DisplayName": "Item Frame", + "X": 224, + "Y": 192 + }, + { + "Name": "enchanted_book", + "DisplayName": "Enchanted Book", + "X": 240, + "Y": 192 + }, + { + "Name": "inventory_overlay", + "DisplayName": "Inventory Overlay", + "X": 32, + "Y": 208 + }, + { + "Name": "inventory_overlay", + "DisplayName": "Inventory Overlay", + "X": 48, + "Y": 208 + }, + { + "Name": "inventory_overlay", + "DisplayName": "Inventory Overlay", + "X": 64, + "Y": 208 + }, + { + "Name": "inventory_overlay", + "DisplayName": "Inventory Overlay", + "X": 80, + "Y": 208 + }, + { + "Name": "inventory_overlay", + "DisplayName": "Inventory Overlay", + "X": 128, + "Y": 208 + }, + { + "Name": "inventory_overlay", + "DisplayName": "Inventory Overlay", + "X": 144, + "Y": 208 + }, + { + "Name": "inventory_overlay", + "DisplayName": "Inventory Overlay", + "X": 160, + "Y": 208 + }, + { + "Name": "inventory_overlay", + "DisplayName": "Inventory Overlay", + "X": 176, + "Y": 208 + }, + { + "Name": "skeleton_skull", + "DisplayName": "Skeleton Skull", + "X": 0, + "Y": 224 + }, + { + "Name": "wither_skeleton_skull", + "DisplayName": "Wither Skeleton Skull", + "X": 16, + "Y": 224 + }, + { + "Name": "zombie_head", + "DisplayName": "Zombie Head", + "X": 32, + "Y": 224 + }, + { + "Name": "player_head", + "DisplayName": "Player Head", + "X": 48, + "Y": 224 + }, + { + "Name": "creeper_head", + "DisplayName": "Creeper Head", + "X": 64, + "Y": 224 + }, + { + "Name": "inventory_overlay", + "DisplayName": "Inventory Overlay", + "X": 80, + "Y": 224 + }, + { + "Name": "inventory_overlay", + "DisplayName": "Inventory Overlay", + "X": 96, + "Y": 224 + }, + { + "Name": "inventory_overlay", + "DisplayName": "Inventory Overlay", + "X": 112, + "Y": 224 + }, + { + "Name": "inventory_overlay", + "DisplayName": "Inventory Overlay", + "X": 128, + "Y": 224 + }, + { + "Name": "inventory_overlay", + "DisplayName": "Inventory Overlay", + "X": 144, + "Y": 224 + }, + { + "Name": "inventory_overlay", + "DisplayName": "Inventory Overlay", + "X": 160, + "Y": 224 + }, + { + "Name": "inventory_overlay", + "DisplayName": "Inventory Overlay", + "X": 176, + "Y": 224 + }, + { + "Name": "dragon_fireball", + "DisplayName": "Dragon Fireball", + "X": 240, + "Y": 224 + }, + { + "Name": "music_disc_13", + "DisplayName": "Music Disc 13", + "X": 0, + "Y": 240 + }, + { + "Name": "music_disc_cat", + "DisplayName": "Music Disc Cat", + "X": 16, + "Y": 240 + }, + { + "Name": "music_disc_blocks", + "DisplayName": "Music Disc Blocks", + "X": 32, + "Y": 240 + }, + { + "Name": "music_disc_chirp", + "DisplayName": "Music Disc Chirp", + "X": 48, + "Y": 240 + }, + { + "Name": "music_disc_far", + "DisplayName": "Music Disc Far", + "X": 64, + "Y": 240 + }, + { + "Name": "music_disc_mall", + "DisplayName": "Music Disc Mall", + "X": 80, + "Y": 240 + }, + { + "Name": "music_disc_mellohi", + "DisplayName": "Music Disc Mellohi", + "X": 96, + "Y": 240 + }, + { + "Name": "music_disc_stal", + "DisplayName": "Music Disc Stal", + "X": 112, + "Y": 240 + }, + { + "Name": "music_disc_strad", + "DisplayName": "Music Disc Strad", + "X": 128, + "Y": 240 + }, + { + "Name": "music_disc_ward", + "DisplayName": "Music Disc Ward", + "X": 144, + "Y": 240 + }, + { + "Name": "music_disc_11", + "DisplayName": "Music Disc 11", + "X": 160, + "Y": 240 + }, + { + "Name": "music_disc_wait", + "DisplayName": "Music Disc Wait", + "X": 176, + "Y": 240 + }, + { + "Name": "music_disc_cat", + "DisplayName": "Music Disc Cat", + "X": 192, + "Y": 240 + }, + { + "Name": "music_disc_13", + "DisplayName": "Music Disc 13", + "X": 208, + "Y": 240 + }, + { + "Name": "music_disc_cat", + "DisplayName": "Music Disc Cat", + "X": 224, + "Y": 240 + } +] \ No newline at end of file diff --git a/terrain.json b/terrain.json new file mode 100644 index 0000000..0376794 --- /dev/null +++ b/terrain.json @@ -0,0 +1,1868 @@ +[ + { + "Name": "grass_block_top", + "DisplayName": "Grass Top", + "X": 0, + "Y": 0 + }, + { + "Name": "stone", + "DisplayName": "Stone", + "X": 16, + "Y": 0 + }, + { + "Name": "dirt", + "DisplayName": "Dirt", + "X": 32, + "Y": 0 + }, + { + "Name": "grass_block_side", + "DisplayName": "Grass Block Side", + "X": 48, + "Y": 0 + }, + { + "Name": "oak_planks", + "DisplayName": "Oak Planks", + "X": 64, + "Y": 0 + }, + { + "Name": "stone_slab_side", + "DisplayName": "Stone Slab Side", + "X": 80, + "Y": 0 + }, + { + "Name": "stone_slab_top", + "DisplayName": "Stone Slab Top", + "X": 96, + "Y": 0 + }, + { + "Name": "bricks", + "DisplayName": "Bricks", + "X": 112, + "Y": 0 + }, + { + "Name": "tnt_side", + "DisplayName": "TNT Side", + "X": 128, + "Y": 0 + }, + { + "Name": "tnt_top", + "DisplayName": "TNT Top", + "X": 144, + "Y": 0 + }, + { + "Name": "tnt_bottom", + "DisplayName": "TNT Bottom", + "X": 160, + "Y": 0 + }, + { + "Name": "cobweb", + "DisplayName": "Cobweb", + "X": 176, + "Y": 0 + }, + { + "Name": "poppy", + "DisplayName": "Poppy", + "X": 192, + "Y": 0 + }, + { + "Name": "dandelion", + "DisplayName": "Dandelion", + "X": 208, + "Y": 0 + }, + { + "Name": "water_still", + "DisplayName": "Water Still", + "X": 224, + "Y": 0 + }, + { + "Name": "oak_sapling", + "DisplayName": "Oak Sapling", + "X": 240, + "Y": 0 + }, + { + "Name": "cobblestone", + "DisplayName": "Cobblestone", + "X": 0, + "Y": 16 + }, + { + "Name": "bedrock", + "DisplayName": "Bedrock", + "X": 16, + "Y": 16 + }, + { + "Name": "sand", + "DisplayName": "Sand", + "X": 32, + "Y": 16 + }, + { + "Name": "gravel", + "DisplayName": "Gravel", + "X": 48, + "Y": 16 + }, + { + "Name": "oak_log", + "DisplayName": "Oak Log", + "X": 64, + "Y": 16 + }, + { + "Name": "oak_log_top", + "DisplayName": "Oak Log Top", + "X": 80, + "Y": 16 + }, + { + "Name": "iron_block", + "DisplayName": "Iron Block", + "X": 96, + "Y": 16 + }, + { + "Name": "gold_block", + "DisplayName": "Gold Block", + "X": 112, + "Y": 16 + }, + { + "Name": "diamond_block", + "DisplayName": "Diamond Block", + "X": 128, + "Y": 16 + }, + { + "Name": "emerald_block", + "DisplayName": "Emerald Block", + "X": 144, + "Y": 16 + }, + { + "Name": "redstone_block", + "DisplayName": "Redstone Block", + "X": 160, + "Y": 16 + }, + { + "Name": "dropper_front", + "DisplayName": "Dropper Front", + "X": 176, + "Y": 16 + }, + { + "Name": "red_mushroom", + "DisplayName": "Red Mushroom", + "X": 192, + "Y": 16 + }, + { + "Name": "brown_mushroom", + "DisplayName": "Brown Mushroom", + "X": 208, + "Y": 16 + }, + { + "Name": "jungle_sapling", + "DisplayName": "Jungle Sapling", + "X": 224, + "Y": 16 + }, + { + "Name": "fire_layer_0", + "DisplayName": "FireTex1", + "X": 240, + "Y": 16 + }, + { + "Name": "gold_ore", + "DisplayName": "Gold Ore", + "X": 0, + "Y": 32 + }, + { + "Name": "iron_ore", + "DisplayName": "Iron Ore", + "X": 16, + "Y": 32 + }, + { + "Name": "coal_ore", + "DisplayName": "Coal Ore", + "X": 32, + "Y": 32 + }, + { + "Name": "bookshelf", + "DisplayName": "Bookshelf", + "X": 48, + "Y": 32 + }, + { + "Name": "mossy_cobblestone", + "DisplayName": "Mossy Cobblestone", + "X": 64, + "Y": 32 + }, + { + "Name": "obsidian", + "DisplayName": "Obsidian", + "X": 80, + "Y": 32 + }, + { + "Name": "grass_block_side_overlay", + "DisplayName": "Grass Side Layer", + "X": 96, + "Y": 32 + }, + { + "Name": "short_grass", + "DisplayName": "Tall Grass", + "X": 112, + "Y": 32 + }, + { + "Name": "dispenser_front_vertical", + "DisplayName": "Dispenser Top", + "X": 128, + "Y": 32 + }, + { + "Name": "dropper_front_vertical", + "DisplayName": "Dropper Top", + "X": 144, + "Y": 32 + }, + { + "Name": "beacon", + "DisplayName": "Beacon", + "X": 160, + "Y": 32 + }, + { + "Name": "crafting_table_top", + "DisplayName": "Crafting Table Top", + "X": 176, + "Y": 32 + }, + { + "Name": "furnace_front", + "DisplayName": "Furnace Front Off", + "X": 192, + "Y": 32 + }, + { + "Name": "furnace_side", + "DisplayName": "Furnace Side", + "X": 208, + "Y": 32 + }, + { + "Name": "dispenser_front_horizontal", + "DisplayName": "Dispenser Front", + "X": 224, + "Y": 32 + }, + { + "Name": "fire_layer_1", + "DisplayName": "FireTex2", + "X": 240, + "Y": 32 + }, + { + "Name": "sponge", + "DisplayName": "Sponge", + "X": 0, + "Y": 48 + }, + { + "Name": "glass", + "DisplayName": "Glass", + "X": 16, + "Y": 48 + }, + { + "Name": "diamond_ore", + "DisplayName": "Diamond Ore", + "X": 32, + "Y": 48 + }, + { + "Name": "redstone_ore", + "DisplayName": "Redstone Ore", + "X": 48, + "Y": 48 + }, + { + "Name": "oak_leaves", + "DisplayName": "Oak Leaves", + "X": 64, + "Y": 48 + }, + { + "Name": "oak_leaves_opaque", + "DisplayName": "Oak Leaves Opaque", + "X": 80, + "Y": 48 + }, + { + "Name": "stone_bricks", + "DisplayName": "Stone Bricks", + "X": 96, + "Y": 48 + }, + { + "Name": "dead_bush", + "DisplayName": "Dead Bush", + "X": 112, + "Y": 48 + }, + { + "Name": "fern", + "DisplayName": "Fern", + "X": 128, + "Y": 48 + }, + { + "Name": "daylight_detector_top", + "DisplayName": "Daylight Sensor Top", + "X": 144, + "Y": 48 + }, + { + "Name": "daylight_detector_inverted_top", + "DisplayName": "Daylight Sensor Bottom", + "X": 160, + "Y": 48 + }, + { + "Name": "crafting_table_side", + "DisplayName": "Crafting Table Side", + "X": 176, + "Y": 48 + }, + { + "Name": "crafting_table_front", + "DisplayName": "Crafting Table Front", + "X": 192, + "Y": 48 + }, + { + "Name": "furnace_front_on", + "DisplayName": "Furnace Front On", + "X": 208, + "Y": 48 + }, + { + "Name": "furnace_top", + "DisplayName": "Furnace Top", + "X": 224, + "Y": 48 + }, + { + "Name": "spruce_sapling", + "DisplayName": "Spruce Sapling", + "X": 240, + "Y": 48 + }, + { + "Name": "white_wool", + "DisplayName": "White Wool", + "X": 0, + "Y": 64 + }, + { + "Name": "spawner", + "DisplayName": "Monster Spawner", + "X": 16, + "Y": 64 + }, + { + "Name": "snow", + "DisplayName": "Snow", + "X": 32, + "Y": 64 + }, + { + "Name": "ice", + "DisplayName": "Ice", + "X": 48, + "Y": 64 + }, + { + "Name": "grass_block_snow", + "DisplayName": "Snowy Grass Side", + "X": 64, + "Y": 64 + }, + { + "Name": "cactus_top", + "DisplayName": "Cactus Top", + "X": 80, + "Y": 64 + }, + { + "Name": "cactus_side", + "DisplayName": "Cactus Side", + "X": 96, + "Y": 64 + }, + { + "Name": "cactus_bottom", + "DisplayName": "Cactus Bottom", + "X": 112, + "Y": 64 + }, + { + "Name": "clay", + "DisplayName": "Clay", + "X": 128, + "Y": 64 + }, + { + "Name": "sugar_cane", + "DisplayName": "Sugar Cane", + "X": 144, + "Y": 64 + }, + { + "Name": "jukebox_side", + "DisplayName": "Jukebox Side", + "X": 160, + "Y": 64 + }, + { + "Name": "jukebox_top", + "DisplayName": "Jukebox Top", + "X": 176, + "Y": 64 + }, + { + "Name": "lily_pad", + "DisplayName": "Lily Pad", + "X": 192, + "Y": 64 + }, + { + "Name": "mycelium_side", + "DisplayName": "Mycelium Side", + "X": 208, + "Y": 64 + }, + { + "Name": "mycelium_top", + "DisplayName": "Mycelium Top", + "X": 224, + "Y": 64 + }, + { + "Name": "birch_sapling", + "DisplayName": "Birch Sapling", + "X": 240, + "Y": 64 + }, + { + "Name": "torch", + "DisplayName": "Torch", + "X": 0, + "Y": 80 + }, + { + "Name": "oak_door_top", + "DisplayName": "Oak Door Top", + "X": 16, + "Y": 80 + }, + { + "Name": "iron_door_top", + "DisplayName": "Iron Door Top", + "X": 32, + "Y": 80 + }, + { + "Name": "ladder", + "DisplayName": "Ladder", + "X": 48, + "Y": 80 + }, + { + "Name": "oak_trapdoor", + "DisplayName": "Oak Trapdoor", + "X": 64, + "Y": 80 + }, + { + "Name": "iron_bars", + "DisplayName": "Iron Bars", + "X": 80, + "Y": 80 + }, + { + "Name": "farmland_moist", + "DisplayName": "Farmland Wet", + "X": 96, + "Y": 80 + }, + { + "Name": "farmland", + "DisplayName": "Farmland Dry", + "X": 112, + "Y": 80 + }, + { + "Name": "wheat_stage0", + "DisplayName": "Wheat Stage 0", + "X": 128, + "Y": 80 + }, + { + "Name": "wheat_stage1", + "DisplayName": "Wheat Stage 1", + "X": 144, + "Y": 80 + }, + { + "Name": "wheat_stage2", + "DisplayName": "Wheat Stage 2", + "X": 160, + "Y": 80 + }, + { + "Name": "wheat_stage3", + "DisplayName": "Wheat Stage 3", + "X": 176, + "Y": 80 + }, + { + "Name": "wheat_stage4", + "DisplayName": "Wheat Stage 4", + "X": 192, + "Y": 80 + }, + { + "Name": "wheat_stage5", + "DisplayName": "Wheat Stage 5", + "X": 208, + "Y": 80 + }, + { + "Name": "wheat_stage6", + "DisplayName": "Wheat Stage 6", + "X": 224, + "Y": 80 + }, + { + "Name": "wheat_stage7", + "DisplayName": "Wheat Stage 7", + "X": 240, + "Y": 80 + }, + { + "Name": "lever", + "DisplayName": "Lever", + "X": 0, + "Y": 96 + }, + { + "Name": "oak_door_bottom", + "DisplayName": "Oak Door Bottom", + "X": 16, + "Y": 96 + }, + { + "Name": "iron_door_bottom", + "DisplayName": "Iron Door Bottom", + "X": 32, + "Y": 96 + }, + { + "Name": "redstone_torch", + "DisplayName": "Redstone Torch On", + "X": 48, + "Y": 96 + }, + { + "Name": "mossy_stone_bricks", + "DisplayName": "Mossy Stone Bricks", + "X": 64, + "Y": 96 + }, + { + "Name": "cracked_stone_bricks", + "DisplayName": "Cracked Stone Bricks", + "X": 80, + "Y": 96 + }, + { + "Name": "pumpkin_top", + "DisplayName": "Pumpkin Top", + "X": 96, + "Y": 96 + }, + { + "Name": "netherrack", + "DisplayName": "Netherrack", + "X": 112, + "Y": 96 + }, + { + "Name": "soul_sand", + "DisplayName": "Soul Sand", + "X": 128, + "Y": 96 + }, + { + "Name": "glowstone", + "DisplayName": "Glowstone", + "X": 144, + "Y": 96 + }, + { + "Name": "piston_top_sticky", + "DisplayName": "Sticky Piston Front", + "X": 160, + "Y": 96 + }, + { + "Name": "piston_top", + "DisplayName": "Piston Front", + "X": 176, + "Y": 96 + }, + { + "Name": "piston_side", + "DisplayName": "Piston Side", + "X": 192, + "Y": 96 + }, + { + "Name": "piston_bottom", + "DisplayName": "Piston Bottom", + "X": 208, + "Y": 96 + }, + { + "Name": "piston_inner", + "DisplayName": "Piston Inner", + "X": 224, + "Y": 96 + }, + { + "Name": "pumpkin_stem", + "DisplayName": "Pumpkin Stem", + "X": 240, + "Y": 96 + }, + { + "Name": "rail_corner", + "DisplayName": "Curved Rail", + "X": 0, + "Y": 112 + }, + { + "Name": "black_wool", + "DisplayName": "Black Wool", + "X": 16, + "Y": 112 + }, + { + "Name": "gray_wool", + "DisplayName": "Dark Gray Wool", + "X": 32, + "Y": 112 + }, + { + "Name": "redstone_torch_off", + "DisplayName": "Redstone Torch Off", + "X": 48, + "Y": 112 + }, + { + "Name": "spruce_log", + "DisplayName": "Spruce Log", + "X": 64, + "Y": 112 + }, + { + "Name": "birch_log", + "DisplayName": "Birch Log", + "X": 80, + "Y": 112 + }, + { + "Name": "pumpkin_side", + "DisplayName": "Pumpkin Side", + "X": 96, + "Y": 112 + }, + { + "Name": "carved_pumpkin", + "DisplayName": "Carved Pumpkin", + "X": 112, + "Y": 112 + }, + { + "Name": "jack_o_lantern", + "DisplayName": "Jack o Lantern", + "X": 128, + "Y": 112 + }, + { + "Name": "cake_top", + "DisplayName": "Cake Top", + "X": 144, + "Y": 112 + }, + { + "Name": "cake_side", + "DisplayName": "Cake Side", + "X": 160, + "Y": 112 + }, + { + "Name": "cake_side_inner", + "DisplayName": "Cake Eaten Side", + "X": 176, + "Y": 112 + }, + { + "Name": "cake_bottom", + "DisplayName": "Cake Bottom", + "X": 192, + "Y": 112 + }, + { + "Name": "red_mushroom_block", + "DisplayName": "Red Mushroom Block", + "X": 208, + "Y": 112 + }, + { + "Name": "brown_mushroom_block", + "DisplayName": "Brown Mushroom Block", + "X": 224, + "Y": 112 + }, + { + "Name": "attached_pumpkin_stem", + "DisplayName": "Pumpkin Stem Connected", + "X": 240, + "Y": 112 + }, + { + "Name": "rail", + "DisplayName": "Rail", + "X": 0, + "Y": 128 + }, + { + "Name": "red_wool", + "DisplayName": "Red Wool", + "X": 16, + "Y": 128 + }, + { + "Name": "pink_wool", + "DisplayName": "Pink Wool", + "X": 32, + "Y": 128 + }, + { + "Name": "repeater", + "DisplayName": "Repeater Off", + "X": 48, + "Y": 128 + }, + { + "Name": "spruce_leaves", + "DisplayName": "Spruce Leaves", + "X": 64, + "Y": 128 + }, + { + "Name": "spruce_leaves_opaque", + "DisplayName": "Spruce Leaves Opaque", + "X": 80, + "Y": 128 + }, + { + "Name": "bed_foot_top", + "DisplayName": "Bed Foot Top", + "X": 96, + "Y": 128 + }, + { + "Name": "bed_head_top", + "DisplayName": "Bed Head Top", + "X": 112, + "Y": 128 + }, + { + "Name": "melon_side", + "DisplayName": "Watermelon Side", + "X": 128, + "Y": 128 + }, + { + "Name": "melon_top", + "DisplayName": "Watermelon Top", + "X": 144, + "Y": 128 + }, + { + "Name": "cauldron_top", + "DisplayName": "Cauldron Top", + "X": 160, + "Y": 128 + }, + { + "Name": "cauldron_bottom", + "DisplayName": "Cauldron Bottom", + "X": 176, + "Y": 128 + }, + { + "Name": "purple_texture", + "DisplayName": "Purple Texture", + "X": 192, + "Y": 128 + }, + { + "Name": "mushroom_stem", + "DisplayName": "Mushroom Stem", + "X": 208, + "Y": 128 + }, + { + "Name": "mushroom_block_inside", + "DisplayName": "Mushroom Block Inside", + "X": 224, + "Y": 128 + }, + { + "Name": "vine", + "DisplayName": "Vine", + "X": 240, + "Y": 128 + }, + { + "Name": "lapis_block", + "DisplayName": "Lapis Block", + "X": 0, + "Y": 144 + }, + { + "Name": "green_wool", + "DisplayName": "Green Wool", + "X": 16, + "Y": 144 + }, + { + "Name": "lime_wool", + "DisplayName": "Lime Wool", + "X": 32, + "Y": 144 + }, + { + "Name": "repeater_on", + "DisplayName": "Repeater On", + "X": 48, + "Y": 144 + }, + { + "Name": "glass_pane_top", + "DisplayName": "Glass Pane Top", + "X": 64, + "Y": 144 + }, + { + "Name": "bed_foot_end", + "DisplayName": "Bed Front Foot", + "X": 80, + "Y": 144 + }, + { + "Name": "bed_foot_side", + "DisplayName": "Bed Side Foot", + "X": 96, + "Y": 144 + }, + { + "Name": "bed_head_side", + "DisplayName": "Bed Side Head", + "X": 112, + "Y": 144 + }, + { + "Name": "bed_head_end", + "DisplayName": "Bed Front Head", + "X": 128, + "Y": 144 + }, + { + "Name": "jungle_log", + "DisplayName": "Jungle Log", + "X": 144, + "Y": 144 + }, + { + "Name": "cauldron_side", + "DisplayName": "Cauldron Side", + "X": 160, + "Y": 144 + }, + { + "Name": "cauldron_feet", + "DisplayName": "Cauldron Feet", + "X": 176, + "Y": 144 + }, + { + "Name": "brewing_stand_base", + "DisplayName": "Brewing Stand Base", + "X": 192, + "Y": 144 + }, + { + "Name": "brewing_stand", + "DisplayName": "Brewing Stand", + "X": 208, + "Y": 144 + }, + { + "Name": "end_portal_frame_top", + "DisplayName": "End Portal Frame Top", + "X": 224, + "Y": 144 + }, + { + "Name": "end_portal_frame_side", + "DisplayName": "End Portal Frame Side", + "X": 240, + "Y": 144 + }, + { + "Name": "lapis_ore", + "DisplayName": "Lapis Ore", + "X": 0, + "Y": 160 + }, + { + "Name": "brown_wool", + "DisplayName": "Brown Wool", + "X": 16, + "Y": 160 + }, + { + "Name": "yellow_wool", + "DisplayName": "Yellow Wool", + "X": 32, + "Y": 160 + }, + { + "Name": "powered_rail", + "DisplayName": "Powered Rail Off", + "X": 48, + "Y": 160 + }, + { + "Name": "redstone_dust_dot", + "DisplayName": "Redstone Cross", + "X": 64, + "Y": 160 + }, + { + "Name": "redstone_dust_line0", + "DisplayName": "Redstone Straight", + "X": 80, + "Y": 160 + }, + { + "Name": "enchanting_table_top", + "DisplayName": "Enchanting Table Top", + "X": 96, + "Y": 160 + }, + { + "Name": "dragon_egg", + "DisplayName": "Dragon Egg", + "X": 112, + "Y": 160 + }, + { + "Name": "cocoa_stage2", + "DisplayName": "Cocoa Stage 2", + "X": 128, + "Y": 160 + }, + { + "Name": "cocoa_stage1", + "DisplayName": "Cocoa Stage 1", + "X": 144, + "Y": 160 + }, + { + "Name": "cocoa_stage0", + "DisplayName": "Cocoa Stage 0", + "X": 160, + "Y": 160 + }, + { + "Name": "emerald_ore", + "DisplayName": "Emerald Ore", + "X": 176, + "Y": 160 + }, + { + "Name": "tripwire_hook", + "DisplayName": "Tripwire Hook", + "X": 192, + "Y": 160 + }, + { + "Name": "tripwire", + "DisplayName": "Tripwire", + "X": 208, + "Y": 160 + }, + { + "Name": "end_portal_frame_eye", + "DisplayName": "End Portal Eye", + "X": 224, + "Y": 160 + }, + { + "Name": "end_stone", + "DisplayName": "End Stone", + "X": 240, + "Y": 160 + }, + { + "Name": "sandstone_top", + "DisplayName": "Sandstone Top", + "X": 0, + "Y": 176 + }, + { + "Name": "blue_wool", + "DisplayName": "Blue Wool", + "X": 16, + "Y": 176 + }, + { + "Name": "light_blue_wool", + "DisplayName": "Light Blue Wool", + "X": 32, + "Y": 176 + }, + { + "Name": "powered_rail_on", + "DisplayName": "Powered Rail On", + "X": 48, + "Y": 176 + }, + { + "Name": "enchanting_table_side", + "DisplayName": "Enchanting Table Side", + "X": 96, + "Y": 176 + }, + { + "Name": "enchanting_table_bottom", + "DisplayName": "Enchanting Table Bottom", + "X": 112, + "Y": 176 + }, + { + "Name": "command_block", + "DisplayName": "Command Block", + "X": 128, + "Y": 176 + }, + { + "Name": "item_frame", + "DisplayName": "Item Frame", + "X": 144, + "Y": 176 + }, + { + "Name": "flower_pot", + "DisplayName": "Flower Pot", + "X": 160, + "Y": 176 + }, + { + "Name": "comparator", + "DisplayName": "Comparator Off", + "X": 176, + "Y": 176 + }, + { + "Name": "comparator_on", + "DisplayName": "Comparator On", + "X": 192, + "Y": 176 + }, + { + "Name": "activator_rail", + "DisplayName": "Activator Rail Off", + "X": 208, + "Y": 176 + }, + { + "Name": "activator_rail_on", + "DisplayName": "Activator Rail On", + "X": 224, + "Y": 176 + }, + { + "Name": "nether_quartz_ore", + "DisplayName": "Quartz Ore", + "X": 240, + "Y": 176 + }, + { + "Name": "sandstone", + "DisplayName": "Sandstone Side", + "X": 0, + "Y": 192 + }, + { + "Name": "purple_wool", + "DisplayName": "Purple Wool", + "X": 16, + "Y": 192 + }, + { + "Name": "magenta_wool", + "DisplayName": "Magenta Wool", + "X": 32, + "Y": 192 + }, + { + "Name": "detector_rail", + "DisplayName": "Detector Rail", + "X": 48, + "Y": 192 + }, + { + "Name": "jungle_leaves", + "DisplayName": "Jungle Leaves", + "X": 64, + "Y": 192 + }, + { + "Name": "jungle_leaves_opaque", + "DisplayName": "Jungle Leaves Opaque", + "X": 80, + "Y": 192 + }, + { + "Name": "spruce_planks", + "DisplayName": "Spruce Planks", + "X": 96, + "Y": 192 + }, + { + "Name": "jungle_planks", + "DisplayName": "Jungle Planks", + "X": 112, + "Y": 192 + }, + { + "Name": "carrots_stage0", + "DisplayName": "Carrot Stage 0", + "X": 128, + "Y": 192 + }, + { + "Name": "carrots_stage1", + "DisplayName": "Carrot Stage 1", + "X": 144, + "Y": 192 + }, + { + "Name": "carrots_stage2", + "DisplayName": "Carrot Stage 2", + "X": 160, + "Y": 192 + }, + { + "Name": "carrots_stage3", + "DisplayName": "Carrot Stage 3", + "X": 176, + "Y": 192 + }, + { + "Name": "water_flow", + "DisplayName": "Water Flow", + "X": 208, + "Y": 192 + }, + { + "Name": "water_flow_1", + "DisplayName": "Water Flow 1", + "X": 224, + "Y": 192 + }, + { + "Name": "water_flow_2", + "DisplayName": "Water Flow 2", + "X": 240, + "Y": 192 + }, + { + "Name": "sandstone_bottom", + "DisplayName": "Sandstone Bottom", + "X": 0, + "Y": 208 + }, + { + "Name": "cyan_wool", + "DisplayName": "Cyan Wool", + "X": 16, + "Y": 208 + }, + { + "Name": "orange_wool", + "DisplayName": "Orange Wool", + "X": 32, + "Y": 208 + }, + { + "Name": "redstone_lamp", + "DisplayName": "Redstone Lamp Off", + "X": 48, + "Y": 208 + }, + { + "Name": "redstone_lamp_on", + "DisplayName": "Redstone Lamp On", + "X": 64, + "Y": 208 + }, + { + "Name": "chiseled_stone_bricks", + "DisplayName": "Chiseled Stone Bricks", + "X": 80, + "Y": 208 + }, + { + "Name": "birch_planks", + "DisplayName": "Birch Planks", + "X": 96, + "Y": 208 + }, + { + "Name": "anvil", + "DisplayName": "Anvil Bottom", + "X": 112, + "Y": 208 + }, + { + "Name": "chipped_anvil_top", + "DisplayName": "Damaged Anvil Top", + "X": 128, + "Y": 208 + }, + { + "Name": "chiseled_quartz_block_top", + "DisplayName": "Chiseled Quartz Top", + "X": 144, + "Y": 208 + }, + { + "Name": "quartz_pillar_top", + "DisplayName": "Pillar Quartz Top", + "X": 160, + "Y": 208 + }, + { + "Name": "quartz_block_top", + "DisplayName": "Quartz Block Top", + "X": 176, + "Y": 208 + }, + { + "Name": "hopper_outside", + "DisplayName": "Hopper Side", + "X": 192, + "Y": 208 + }, + { + "Name": "detector_rail_on", + "DisplayName": "Detector Rail On", + "X": 208, + "Y": 208 + }, + { + "Name": "water_flow_3", + "DisplayName": "Water Flow 3", + "X": 224, + "Y": 208 + }, + { + "Name": "water_flow_4", + "DisplayName": "Water Flow 4", + "X": 240, + "Y": 208 + }, + { + "Name": "nether_bricks", + "DisplayName": "Nether Brick", + "X": 0, + "Y": 224 + }, + { + "Name": "light_gray_wool", + "DisplayName": "Light Gray Wool", + "X": 16, + "Y": 224 + }, + { + "Name": "nether_wart_stage0", + "DisplayName": "Nether Wart Stage 0", + "X": 32, + "Y": 224 + }, + { + "Name": "nether_wart_stage1", + "DisplayName": "Nether Wart Stage 1", + "X": 48, + "Y": 224 + }, + { + "Name": "nether_wart_stage2", + "DisplayName": "Nether Wart Stage 2", + "X": 64, + "Y": 224 + }, + { + "Name": "chiseled_sandstone", + "DisplayName": "Chiseled Sandstone", + "X": 80, + "Y": 224 + }, + { + "Name": "smooth_sandstone", + "DisplayName": "Smooth Sandstone", + "X": 96, + "Y": 224 + }, + { + "Name": "anvil_top", + "DisplayName": "Anvil Top", + "X": 112, + "Y": 224 + }, + { + "Name": "damaged_anvil_top", + "DisplayName": "Heavily Damaged Anvil Top", + "X": 128, + "Y": 224 + }, + { + "Name": "chiseled_quartz_block", + "DisplayName": "Chiseled Quartz Side", + "X": 144, + "Y": 224 + }, + { + "Name": "quartz_pillar", + "DisplayName": "Pillar Quartz Side", + "X": 160, + "Y": 224 + }, + { + "Name": "quartz_block_side", + "DisplayName": "Quartz Block Side", + "X": 176, + "Y": 224 + }, + { + "Name": "hopper_inside", + "DisplayName": "Hopper Inside", + "X": 192, + "Y": 224 + }, + { + "Name": "lava_still", + "DisplayName": "Lava Still", + "X": 208, + "Y": 224 + }, + { + "Name": "lava_flow", + "DisplayName": "Lava Flow 0", + "X": 224, + "Y": 224 + }, + { + "Name": "lava_flow_1", + "DisplayName": "Lava Flow 1", + "X": 240, + "Y": 224 + }, + { + "Name": "destroy_stage_0", + "DisplayName": "Block Break 0", + "X": 0, + "Y": 240 + }, + { + "Name": "destroy_stage_1", + "DisplayName": "Block Break 1", + "X": 16, + "Y": 240 + }, + { + "Name": "destroy_stage_2", + "DisplayName": "Block Break 2", + "X": 32, + "Y": 240 + }, + { + "Name": "destroy_stage_3", + "DisplayName": "Block Break 3", + "X": 48, + "Y": 240 + }, + { + "Name": "destroy_stage_4", + "DisplayName": "Block Break 4", + "X": 64, + "Y": 240 + }, + { + "Name": "destroy_stage_5", + "DisplayName": "Block Break 5", + "X": 80, + "Y": 240 + }, + { + "Name": "destroy_stage_6", + "DisplayName": "Block Break 6", + "X": 96, + "Y": 240 + }, + { + "Name": "destroy_stage_7", + "DisplayName": "Block Break 7", + "X": 112, + "Y": 240 + }, + { + "Name": "destroy_stage_8", + "DisplayName": "Block Break 8", + "X": 128, + "Y": 240 + }, + { + "Name": "destroy_stage_9", + "DisplayName": "Block Break 9", + "X": 144, + "Y": 240 + }, + { + "Name": "hay_block_side", + "DisplayName": "Hay Bale Side", + "X": 160, + "Y": 240 + }, + { + "Name": "quartz_block_bottom", + "DisplayName": "Quartz Block Bottom", + "X": 176, + "Y": 240 + }, + { + "Name": "hopper_top", + "DisplayName": "Hopper Top", + "X": 192, + "Y": 240 + }, + { + "Name": "hay_block_top", + "DisplayName": "Hay Bale Top", + "X": 208, + "Y": 240 + }, + { + "Name": "lava_flow_2", + "DisplayName": "Lava Flow 2", + "X": 224, + "Y": 240 + }, + { + "Name": "lava_flow_3", + "DisplayName": "Lava Flow 3", + "X": 240, + "Y": 240 + }, + { + "Name": "coal_block", + "DisplayName": "Coal Block", + "X": 0, + "Y": 256 + }, + { + "Name": "terracotta", + "DisplayName": "Hardened Clay", + "X": 16, + "Y": 256 + }, + { + "Name": "note_block", + "DisplayName": "Note Block", + "X": 32, + "Y": 256 + }, + { + "Name": "potatoes_stage0", + "DisplayName": "Potato Stage 0", + "X": 144, + "Y": 256 + }, + { + "Name": "potatoes_stage1", + "DisplayName": "Potato Stage 1", + "X": 160, + "Y": 256 + }, + { + "Name": "potatoes_stage2", + "DisplayName": "Potato Stage 2", + "X": 176, + "Y": 256 + }, + { + "Name": "potatoes_stage3", + "DisplayName": "Potato Stage 3", + "X": 192, + "Y": 256 + }, + { + "Name": "spruce_log_top", + "DisplayName": "Spruce Log Top", + "X": 208, + "Y": 256 + }, + { + "Name": "jungle_log_top", + "DisplayName": "Jungle Log Top", + "X": 224, + "Y": 256 + }, + { + "Name": "birch_log_top", + "DisplayName": "Birch Log Top", + "X": 240, + "Y": 256 + }, + { + "Name": "black_terracotta", + "DisplayName": "Black Hardened Clay", + "X": 0, + "Y": 272 + }, + { + "Name": "blue_terracotta", + "DisplayName": "Blue Hardened Clay", + "X": 16, + "Y": 272 + }, + { + "Name": "brown_terracotta", + "DisplayName": "Brown Hardened Clay", + "X": 32, + "Y": 272 + }, + { + "Name": "cyan_terracotta", + "DisplayName": "Cyan Hardened Clay", + "X": 48, + "Y": 272 + }, + { + "Name": "gray_terracotta", + "DisplayName": "Dark Grey Hardened Clay", + "X": 64, + "Y": 272 + }, + { + "Name": "green_terracotta", + "DisplayName": "Green Hardened Clay", + "X": 80, + "Y": 272 + }, + { + "Name": "light_blue_terracotta", + "DisplayName": "Light Blue Hardened Clay", + "X": 96, + "Y": 272 + }, + { + "Name": "lime_terracotta", + "DisplayName": "Lime Hardened Clay", + "X": 112, + "Y": 272 + }, + { + "Name": "magenta_terracotta", + "DisplayName": "Magenta Hardened Clay", + "X": 128, + "Y": 272 + }, + { + "Name": "orange_terracotta", + "DisplayName": "Orange Hardened Clay", + "X": 144, + "Y": 272 + }, + { + "Name": "pink_terracotta", + "DisplayName": "Pink Hardened Clay", + "X": 160, + "Y": 272 + }, + { + "Name": "purple_terracotta", + "DisplayName": "Purple Hardened Clay", + "X": 176, + "Y": 272 + }, + { + "Name": "red_terracotta", + "DisplayName": "Red Hardened Clay", + "X": 192, + "Y": 272 + }, + { + "Name": "light_gray_terracotta", + "DisplayName": "Light Grey Hardened Clay", + "X": 208, + "Y": 272 + }, + { + "Name": "white_terracotta", + "DisplayName": "White Hardened Clay", + "X": 224, + "Y": 272 + }, + { + "Name": "yellow_terracotta", + "DisplayName": "Yellow Hardened Clay", + "X": 240, + "Y": 272 + }, + { + "Name": "black_stained_glass", + "DisplayName": "Black Glass", + "X": 0, + "Y": 288 + }, + { + "Name": "blue_stained_glass", + "DisplayName": "Blue Glass", + "X": 16, + "Y": 288 + }, + { + "Name": "brown_stained_glass", + "DisplayName": "Brown Glass", + "X": 32, + "Y": 288 + }, + { + "Name": "cyan_stained_glass", + "DisplayName": "Cyan Glass", + "X": 48, + "Y": 288 + }, + { + "Name": "gray_stained_glass", + "DisplayName": "Dark Grey Glass", + "X": 64, + "Y": 288 + }, + { + "Name": "green_stained_glass", + "DisplayName": "Green Glass", + "X": 80, + "Y": 288 + }, + { + "Name": "light_blue_stained_glass", + "DisplayName": "Light Blue Glass", + "X": 96, + "Y": 288 + }, + { + "Name": "lime_stained_glass", + "DisplayName": "Lime Glass", + "X": 112, + "Y": 288 + }, + { + "Name": "magenta_stained_glass", + "DisplayName": "Magenta Glass", + "X": 128, + "Y": 288 + }, + { + "Name": "orange_stained_glass", + "DisplayName": "Orange Glass", + "X": 144, + "Y": 288 + }, + { + "Name": "pink_stained_glass", + "DisplayName": "Pink Glass", + "X": 160, + "Y": 288 + }, + { + "Name": "purple_stained_glass", + "DisplayName": "Purple Glass", + "X": 176, + "Y": 288 + }, + { + "Name": "red_stained_glass", + "DisplayName": "Red Glass", + "X": 192, + "Y": 288 + }, + { + "Name": "light_gray_stained_glass", + "DisplayName": "Light Grey Glass", + "X": 208, + "Y": 288 + }, + { + "Name": "white_stained_glass", + "DisplayName": "White Glass", + "X": 224, + "Y": 288 + }, + { + "Name": "yellow_stained_glass", + "DisplayName": "Yellow Glass", + "X": 240, + "Y": 288 + }, + { + "Name": "black_stained_glass_pane_top", + "DisplayName": "Black Glass Pane Top", + "X": 0, + "Y": 304 + }, + { + "Name": "blue_stained_glass_pane_top", + "DisplayName": "Blue Glass Pane Top", + "X": 16, + "Y": 304 + }, + { + "Name": "brown_stained_glass_pane_top", + "DisplayName": "Brown Glass Pane Top", + "X": 32, + "Y": 304 + }, + { + "Name": "cyan_stained_glass_pane_top", + "DisplayName": "Cyan Glass Pane Top", + "X": 48, + "Y": 304 + }, + { + "Name": "gray_stained_glass_pane_top", + "DisplayName": "Dark Grey Glass Pane Top", + "X": 64, + "Y": 304 + }, + { + "Name": "green_stained_glass_pane_top", + "DisplayName": "Green Glass Pane Top", + "X": 80, + "Y": 304 + }, + { + "Name": "light_blue_stained_glass_pane_top", + "DisplayName": "Light Blue Glass Pane Top", + "X": 96, + "Y": 304 + }, + { + "Name": "lime_stained_glass_pane_top", + "DisplayName": "Lime Glass Pane Top", + "X": 112, + "Y": 304 + }, + { + "Name": "magenta_stained_glass_pane_top", + "DisplayName": "Magenta Glass Pane Top", + "X": 128, + "Y": 304 + }, + { + "Name": "orange_stained_glass_pane_top", + "DisplayName": "Orange Glass Pane Top", + "X": 144, + "Y": 304 + }, + { + "Name": "pink_stained_glass_pane_top", + "DisplayName": "Pink Glass Pane Top", + "X": 160, + "Y": 304 + }, + { + "Name": "purple_stained_glass_pane_top", + "DisplayName": "Purple Glass Pane Top", + "X": 176, + "Y": 304 + }, + { + "Name": "red_stained_glass_pane_top", + "DisplayName": "Red Glass Pane Top", + "X": 192, + "Y": 304 + }, + { + "Name": "light_gray_stained_glass_pane_top", + "DisplayName": "Light Grey Glass Pane Top", + "X": 208, + "Y": 304 + }, + { + "Name": "white_stained_glass_pane_top", + "DisplayName": "White Glass Pane Top", + "X": 224, + "Y": 304 + }, + { + "Name": "yellow_stained_glass_pane_top", + "DisplayName": "Yellow Glass Pane Top", + "X": 240, + "Y": 304 + } +] \ No newline at end of file